Module for simple closed intervals over arbitrary types that are ordered correctly using polymorphic compare.
create_ending_after ?zone (od1, od2) ~now
returns the smallest interval (t1 t2)
with minimum t2
such that t2 >= now
, to_ofday t1 = od1
, and to_ofday t2 =
od2
. If zone is specified, it is used to translate od1 and od2 into times,
otherwise the machine's time zone is used. It is not guaranteed that contains (t1
t2) now
, which will be false iff there is no interval containing now
with
to_ofday t1 = od1
and to_ofday t2 = od1
.
create_ending_before ?zone (od1, od2) ~ubound
returns the smallest interval (t1
t2)
with maximum t2
such that t2 <= ubound
, to_ofday t1 = od1
, and to_ofday
t2 = od2
. If zone is specified, it is used to translate od1 and od2 into times,
otherwise the machine's time zone is used.