diff options
author | Jo-Philipp Wich <jo@mein.io> | 2022-03-22 13:33:56 +0100 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2022-03-22 16:01:10 +0100 |
commit | 171402fd6fc2bd27dd45e2dbf258734c53987508 (patch) | |
tree | f839579b4654395437d18bf143d6461008bf705e /tests/custom/03_stdlib/51_localtime | |
parent | 3eaca1db52be980f62aed281fedf319eff599fbd (diff) |
lib: add date and time related functions
Add five new functions to deal with date calculation and timing:
- localtime(), gmtime() - return a broken down calendar date and time
specification from the given epoch (or now, if absent) in local and
UTC time respectively
- timelocal(), timegm() - the inverse operation for the former functions,
taking a date and time specification (interpreted as local or UTC time
respectively) and turning it into an epoch value
- clock() - return the second and nanosecond values of the system clock,
useful for time/performance measurements
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'tests/custom/03_stdlib/51_localtime')
-rw-r--r-- | tests/custom/03_stdlib/51_localtime | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/custom/03_stdlib/51_localtime b/tests/custom/03_stdlib/51_localtime new file mode 100644 index 0000000..d16f279 --- /dev/null +++ b/tests/custom/03_stdlib/51_localtime @@ -0,0 +1,36 @@ +The `localtime()` function returns the given epoch timestamp (or now, +if omitted) as a dictionary containing broken-down date and time +information according to the local system timezone. + +-- Testcase -- +{% + let t = time(); + let d1 = localtime(); + let d2 = localtime(1647953502); + + // assert that localtime without epoch returns the current time + let c = timelocal(d1); + assert(c >= t && c <= t + 5, "localtime() result does not match time()"); + + // dump fixed time and check expected output + printf("%.J\n", d2); +%} +-- End -- + +-- Vars -- +TZ=CET-1CEST,M3.5.0/2,M10.5.0/3 +-- End -- + +-- Expect stdout -- +{ + "sec": 42, + "min": 51, + "hour": 13, + "mday": 22, + "mon": 3, + "year": 2022, + "wday": 2, + "yday": 81, + "isdst": 0 +} +-- End -- |