Sub second time resolution (#6978)
* 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
This commit is contained in:
parent
19a1cc914f
commit
f6df2d9956
7 changed files with 699 additions and 296 deletions
|
|
@ -17,14 +17,14 @@ block localTime:
|
|||
|
||||
let a = fromUnix(1_000_000_000)
|
||||
let b = fromUnix(1_500_000_000)
|
||||
doAssert b - a == 500_000_000
|
||||
doAssert b - a == initDuration(seconds = 500_000_000)
|
||||
|
||||
# Because we can't change the timezone JS uses, we define a simple static timezone for testing.
|
||||
|
||||
proc staticZoneInfoFromUtc(time: Time): ZonedTime =
|
||||
result.utcOffset = -7200
|
||||
result.isDst = false
|
||||
result.adjTime = (time.toUnix + 7200).Time
|
||||
result.adjTime = time + 7200.seconds
|
||||
|
||||
proc staticZoneInfoFromTz(adjTime: Time): ZonedTIme =
|
||||
result.utcOffset = -7200
|
||||
|
|
@ -40,5 +40,4 @@ block timezoneTests:
|
|||
doAssert $dt.utc.inZone(utcPlus2) == $dt
|
||||
|
||||
doAssert $initDateTime(01, mJan, 1911, 12, 00, 00, utc()) == "1911-01-01T12:00:00+00:00"
|
||||
# See #6752
|
||||
# doAssert $initDateTime(01, mJan, 1900, 12, 00, 00, utc()) == "0023-01-01T12:00:00+00:00"
|
||||
doAssert $initDateTime(01, mJan, 0023, 12, 00, 00, utc()) == "0023-01-01T12:00:00+00:00"
|
||||
Loading…
Add table
Add a link
Reference in a new issue