System timeA representation of timestamps.
NOTE: This representation is limited to times between 0000-01-01 00:00:00 UTC and 9999-12-31 23:59:59.999999999999 UTC
NOTE: This is based on the system clock. As a result, it is affected by system clock adjustments. IF you need monotonous time, you can use Mtime
.
Unix epoch is 1970-01-01 00:00:00.000000000000 UTC
module Span : sig ... end
Conversions to and from Protocol timeNote that converting system time to protocol time truncates any subsecond precision.
Convert a Protocol time into a System time.
Return None
if the Protocol time is outside the RFC3339 range.
Convert a Protocol time into a System time.
Raises Invalid_argument
if the Protocol time is outside the RFC3339 range.
Convert a System time into a Protocol time.
Note that subseconds are truncated.
Conversions to and from string (using RFC3339)val of_notation_opt : string -> t option
Convert a string in the RFC3339 format (e.g., "1970-01-01T00:00:00.000-00:00"
) into a system time. Invalid RFC3339 notations will return None
.
Note that years outside the 0000-9999 range are invalid RFC3339-wise.
val of_notation_exn : string -> t
Convert a string in the RFC3339 format (e.g., "1970-01-01T00:00:00.000-00:00"
) into a system time. Invalid RFC3339 notations will raise Invalid_argument
.
Note that years outside the 0000-9999 range are invalid RFC3339-wise.
val to_notation : t -> string
Convert a system time into an RFC3339 notation (e.g., "1970-01-01T00:00:00.000-00:00"
).
Serializationval encoding : t Data_encoding .t
val rfc_encoding : t Data_encoding .t
Pretty-printingval pp_hum : Stdlib .Format.formatter -> t -> unit
Timestamping datatype 'a stamped = {
data : 'a ;
stamp : t ;
}
Data with an associated time stamp.
val stamped_encoding : 'a Data_encoding .t -> 'a stamped Data_encoding .t
stamp d
is a timestamped version of d
.
val pp_stamped :
(Stdlib .Format.formatter -> 'a -> unit) ->
Stdlib .Format.formatter ->
'a stamped ->
unit
val recent : ('a * t ) option -> ('a * t ) option -> ('a * t ) option
recent a b
is either a
or b
(which ever carries the most recent timestamp), or None
if both a
and b
are None
.
Helper modulesinclude Tezos_stdlib.Compare.S with type t := t
x = y
iff compare x y = 0
val (<>) : t -> t -> bool
x <> y
iff compare x y <> 0
x < y
iff compare x y < 0
val (<=) : t -> t -> bool
x <= y
iff compare x y <= 0
val (>=) : t -> t -> bool
x >= y
iff compare x y >= 0
x > y
iff compare x y > 0
val compare : t -> t -> int
compare
an alias for the functor parameter's compare
function
val equal : t -> t -> bool
equal x y
iff compare x y = 0
max x y
is x
if x >= y
otherwise it is y
min x y
is x
if x <= y
otherwise it is y