include Core_kernel__.Ofday_intf.Ofday with type underlying = float and module Span := Core_kernel__.Spaninclude Core_kernel__.Ofday_intf.Stype underlyingTime of day.
t represents a clock-face time of day. Usually this is equivalent to a time-offset
from midnight, and each t occurs exactly once in each calendar day. However, when
daylight saving time begins or ends, some clock face times (and therefore t's) can
occur more than once per day or not at all, and e.g. 04:00 can occur three or five
hours after midnight, so knowing your current offset from midnight is *not* in
general equivalent to knowing the current t.
(See Zone for tools to help you cope with DST.)
There is one nonstandard representable value, start_of_next_day, which can be
thought of as "24:00:00" in 24-hour time. It is essentially "00:00:00" on the next
day. By having this value, we allow comparisons against a strict upper bound on t
values. However, it has some odd properties; for example, Time.of_date_ofday ~zone
date start_of_next_day |> Time.to_date ~zone yields a different date.
Any ofday will satisfy start_of_day <= ofday <= start_of_next_day.
include sig ... endval bin_t : t Bin_prot.Type_class.tval bin_read_t : t Bin_prot.Read.readerval __bin_read_t__ : (Core_kernel__.Import.int ‑> t) Bin_prot.Read.readerval bin_reader_t : t Bin_prot.Type_class.readerval bin_size_t : t Bin_prot.Size.sizerval bin_write_t : t Bin_prot.Write.writerval bin_writer_t : t Bin_prot.Type_class.writerval bin_shape_t : Bin_prot.Shape.tval t_of_sexp : Base.Sexp.t ‑> tval sexp_of_t : t ‑> Base.Sexp.tinclude Core_kernel__.Std_internal.Comparable_binable with type t := tinclude Core_kernel__.Comparable_intf.S_commoninclude Base.Comparable.Sinclude Base__.Comparable_intf.Polymorphic_compareascending is identical to compare. descending x y = ascending y x. These are
intended to be mnemonic when used like List.sort ~compare:ascending and List.sort
~cmp:descending, since they cause the list to be sorted in ascending or descending
order, respectively.
clamp_exn t ~min ~max returns t', the closest value to t such that
between t' ~low:min ~high:max is true.
Raises if not (min <= max).
val clamp : t ‑> min:t ‑> max:t ‑> t Base.Or_error.tinclude Base.Comparator.S with type t := tval comparator : (t, comparator_witness) Base.Comparator.comparatorinclude Base__.Comparable_intf.Validate with type t := tval validate_lbound : min:t Base.Maybe_bound.t ‑> t Base.Validate.checkval validate_ubound : max:t Base.Maybe_bound.t ‑> t Base.Validate.checkval validate_bound : min:t Base.Maybe_bound.t ‑> max:t Base.Maybe_bound.t ‑> t Base.Validate.checkmodule Replace_polymorphic_compare : Core_kernel__.Comparable_intf.Polymorphic_compare with type t := tinclude Core_kernel__.Comparable_intf.Map_and_set_binable with type t := t with type comparator_witness := comparator_witnessinclude Core_kernel.Comparator.S with type t := tval comparator : (t, comparator_witness) Core_kernel.Comparator.comparatormodule Map : Core_kernel.Map.S_binable with type Key.t = t with type Key.comparator_witness = comparator_witnessmodule Set : Core_kernel.Set.S_binable with type Elt.t = t with type Elt.comparator_witness = comparator_witnessinclude Core_kernel.Comparable.With_zero with type t := tval validate_positive : t Base.Validate.checkval validate_non_negative : t Base.Validate.checkval validate_negative : t Base.Validate.checkval validate_non_positive : t Base.Validate.checkval is_positive : t ‑> boolval is_non_negative : t ‑> boolval is_negative : t ‑> boolval is_non_positive : t ‑> boolval sign : t ‑> Base__.Sign0.tReturns Neg, Zero, or Pos in a way consistent with the above functions.
include Core_kernel__.Std_internal.Hashable_binable with type t := tinclude sig ... endval hash_fold_t : Base.Hash.state ‑> t ‑> Base.Hash.stateval hash : t ‑> Base.Hash.hash_valueval hashable : t Core_kernel.Hashtbl.Hashable.tmodule Table : Core_kernel.Hashtbl.S_binable with type key = tmodule Hash_set : Core_kernel.Hash_set.S_binable with type elt = tmodule Hash_queue : Core_kernel.Hash_queue.S with type Key.t = tinclude Core_kernel__.Import.Pretty_printer.S with type t := tval pp : Base.Formatter.t ‑> t ‑> unitmodule Span : Core_kernel__.Span_intf.Sof_string supports and correctly interprets 12h strings with the following suffixes:
"A", "AM", "A.M.", "A.M"
"P", "PM", "P.M.", "P.M"as well as the lowercase and space-prefixed versions of these suffixes.
of_string also fully supports 24h wall-clock times.
to_string only produces the 24h format.
include Core_kernel__.Std_internal.Stringable with type t := tval of_string : string ‑> tval to_string : t ‑> stringval create : ?hr:Core_kernel__.Import.int ‑> ?min:Core_kernel__.Import.int ‑> ?sec:Core_kernel__.Import.int ‑> ?ms:Core_kernel__.Import.int ‑> ?us:Core_kernel__.Import.int ‑> ?ns:Core_kernel__.Import.int ‑> Core_kernel__.Import.unit ‑> tval to_parts : t ‑> Span.Parts.tval start_of_next_day : tLargest representable ofday; see notes above on how start_of_next_day behaves
differently from other ofday values.
val approximate_end_of_day : tA time very close to the end of a day. Not necessarily the largest representable
value before start_of_next_day, but as close as possible such that using this
ofday with Time.of_date_ofday and Time.to_date should round-trip to the same
date. With floating-point representations of time, this may not be possible for
dates extremely far from epoch.
The clock-face time represented by approximate_end_of_day may vary with different
time and ofday representations, depending on their precision.
Note that these names are only really accurate on days without DST transitions. When
clocks move forward or back, of_span_since_start_of_day s will not necessarily
occur s after that day's midnight.
val add : t ‑> Span.t ‑> t Core_kernel__.Import.optionadd t s shifts the time of day t by the span s. It returns None if the
result is not in the same 24-hour day.
val sub : t ‑> Span.t ‑> t Core_kernel__.Import.optionval next : t ‑> t Core_kernel__.Import.optionnext t return the next t (next t > t) or None if t = end of day.
val prev : t ‑> t Core_kernel__.Import.optionprev t return the previous t (prev t < t) or None if t = start of day.
diff t1 t2 returns the difference in time between two ofdays, as if they occurred
on the same 24-hour day.
Returns the time-span separating the two of-days, ignoring the hour information, and assuming that the of-days represent times that are within a half-hour of each other. This is useful for comparing two ofdays in unknown time-zones.
val to_string_trimmed : t ‑> Core_kernel__.Import.stringTrailing groups of zeroes are trimmed such that the output is printed in terms of the smallest non-zero units among nanoseconds, microseconds, milliseconds, or seconds; or minutes if all of the above are zero.
val to_sec_string : t ‑> Core_kernel__.Import.stringHH:MM:SS, without any subsecond components. Seconds appear even if they are zero.
val of_string_iso8601_extended : ?pos:Core_kernel__.Import.int ‑> ?len:Core_kernel__.Import.int ‑> Core_kernel__.Import.string ‑> tmodule Stable : Core_kernel__.Ofday_intf.S_stable with type t := t