* Add deprecation warnings to recently deprecated procs
* Fix bad usage of the times module
* Introduce sub second resolution
* Fix usage of C's time()
* Switch to nanosecond resolution
* Make Time & Duration opaque again and fix some errors
* Change back to TimeInterval for shorthands
* Fix JS test
* Fix build error for windows
* Undeprecate epochTime
* Documentation and minor changes
* Lots of bugfixes and doc comments
* Attempt to make travis & appveyor green
* Fix edge cases for dealing with the local timezone
* Workaround JS backend overflow/underflow bug
* Use better workaround for not knowing the size of time_t
* Use all available timezones for tests
* Fix indentation
* Add procs for accessing the fractional part of a duration
* Order time units from smallest to largest since it makes more sense
* Include months and years in `TimeUnit`
* Review fix
* Add warnings about deprecation to times module
I've added warnings about some procedures being deprecated.
Also I can't find what is the replacement for `getTimezone` proc, please help with that
* Update times.nim
* Update times.nim
* First work on better timezones
* Update tests to new api.
Removed tests for checking that `isDst` was included when formatting, since `isDst` no longer affects utc offset (the entire utc offset is stored directly in `utcOffset` instead).
* Deprecate getLocaltime & getGmTime
* Add `now()` as a shorthand for GetTIme().inZone(Local)
* Add FedericoCeratto's timezone tests (#6548)
* Run more tests in all timezones
* Make month enum start at 1 instead of 0
* Deprecate getDayOfWeekJulian
* Fix issues with gc safety
* Rename TimeInfo => DateTime
* Fixes#6465
* Improve isLeapYear
* FIx handling negative adjTime
* Cleanup:
- deprecated toSeconds and fromSeconds, added fromUnix and toUnix instead (that returns int64 instead of float)
- added missing doc comments
- removed some unnecessary JS specific implementations
* Fix misstake in JS `-` for Time
* Update usage of TimeEffect
* Removed unecessary use of `difftime`
* JS fix for local tz
* Fix subtraction of months
* Fix `days` field in `toTimeInterval`
* Style and docs
* Fix getDayOfYear for real this time...
* Fix handling of adding/subtracting time across dst transitions
* Fix some bad usage of the times module in the stdlib
* Revert to use proper time resoultion for seeding in random.nim
* Move deprecated procs to bottom of file
* Always use `epochTime` in `randomize`
* Remove TimeInterval normalization
* Fixes#6905
* Fix getDayOfWeek for year < 1
* Export toEpochDay/fromEpochDay and change year/month/monthday order
* Add asserts for checking that the monthday is valid
* Fix some remaining ambiguous references to `Time`
* Fix ambiguous reference to Time
To use JS's Date creation from string, I moved the TimeInfo formatting code above the toTime proc declaration. Also, I changed the argument type for newDate from string to cstring for it to work.
Add yearday calculation to getLocalTime and getGMTime, so that yearday is not 0 for TimeInfo instances under JS backend.
Yearday 0 has no sense and contradicts the behaviour under C backend, where yearday is an int from 1 to 365, i.e. cannot be 0 even theoretically.
_mkgmtime is not supported by mingw because of the older msvcrt
versions. Fortunately, mktime implementation in Windows is just broken
enough to make the initial implementation work...
As far as I can tell, this works with both *nix-like platforms
and Win, and fixes#4690
* When formatting timezone, substract 1 hour from timezone when isDST
* Do not depend DST in current timezone when parsing arbitrary date
because formatted timestamps are never in DST.
* On the way, removed an unnecessary line in parsing code which could
cause bugs.
* Added DST tests