module type PCLOCK =sig
..end
PCLOCK
provides access to POSIX time and the system current time
zone offset.
This time does not increase monotically and is subject to system
calendar time adjustements. It can go back in time, and as such
should not be used to measure wall-clock time spans.
val now_d_ps : unit -> int * int64
now_d_ps ()
is (d, ps)
representing the POSIX time occuring
at d
* 86'400e12 + ps
POSIX picoseconds from the epoch
1970-01-01 00:00:00 UTC. ps
is in the range
[0
;86_399_999_999_999_999L
]. By definition this time
is always on the UTC timeline.Sys_error
if the time can't be determined. This exception
should only be catched at the toplevel of your program to
log and it and abort the program. It indicates a serious error
condition in the system.val period_d_ps : unit -> (int * int64) option
period_d_ps ()
is Some (d, ps)
, representing the
clock's picosecond period d
* 86'400e12 + ps
, if known.
ps
is in the range [0
;86_399_999_999_999_999L
].val current_tz_offset_s : unit -> int option
current_tz_offset_s ()
is the system's current local time
zone offset to UTC in seconds, if know. This is the duration
local time - UTC time in seconds.