package octez-libs
System time
A 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
type t = Ptime.t
val now : unit -> Ptime.t
The current time according to the system clock
val epoch : t
Unix epoch is 1970-01-01 00:00:00.000000000000 UTC
module Span : sig ... end
Conversions to and from Protocol time
Note that converting system time to protocol time truncates any subsecond precision.
val of_protocol_opt : Protocol.t -> t option
Convert a Protocol time into a System time.
Return None
if the Protocol time is outside the RFC3339 range.
val of_protocol_exn : Protocol.t -> t
Convert a Protocol time into a System time.
Raises Invalid_argument
if the Protocol time is outside the RFC3339 range.
val to_protocol : t -> Protocol.t
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"
).
Serialization
val encoding : t Data_encoding.t
val rfc_encoding : t Data_encoding.t
val rpc_arg : t Tezos_rpc.Arg.t
Pretty-printing
val pp_hum : Format.formatter -> t -> unit
Timestamping data
Data with an associated time stamp.
val stamped_encoding : 'a Data_encoding.t -> 'a stamped Data_encoding.t
val pp_stamped :
(Format.formatter -> 'a -> unit) ->
Format.formatter ->
'a stamped ->
unit
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 modules
val hash : t -> int
include Tezos_stdlib.Compare.S with type t := t
module Set : Tezos_error_monad.TzLwtreslib.Set.S with type elt = t
module Map : Tezos_error_monad.TzLwtreslib.Map.S with type key = t
module Table : Tezos_error_monad.TzLwtreslib.Hashtbl.S with type key = t