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:
Oscar Nihlgård
2018-04-13 07:36:31 +02:00
committed by Andreas Rumpf
parent 19a1cc914f
commit f6df2d9956
7 changed files with 699 additions and 296 deletions

View File

@@ -77,8 +77,7 @@ proc setupVM*(module: PSym; cache: IdentCache; scriptName: string;
cbos copyDir:
os.copyDir(getString(a, 0), getString(a, 1))
cbos getLastModificationTime:
# depends on Time's implementation!
setResult(a, int64(getLastModificationTime(getString(a, 0))))
setResult(a, getLastModificationTime(getString(a, 0)).toUnix)
cbos findExe:
setResult(a, os.findExe(getString(a, 0)))