Module Datetime
Implementation of the date/time types and operations.
val is_leapyear : Imandra_prelude.int -> bool
Helper function that determines wether the year is a leap year
val calculate_carry : Imandra_prelude.int -> Imandra_prelude.int -> Imandra_prelude.int -> field_carryover
type fix_utctimestamp_milli
=
{
}
UTC Timestamp type.
type fix_utctimestamp_micro
=
{
}
val default_utctimestamp_milli : fix_utctimestamp_milli
Default timestamp is 0 unix epoch timestamp
val default_utctimestamp_micro : fix_utctimestamp_micro
Default timestamp is 0 unix epoch timestamp
val normalise_utctimestamp_milli : fix_utctimestamp_milli -> fix_utctimestamp_milli
val normalise_utctimestamp_micro : fix_utctimestamp_micro -> fix_utctimestamp_micro
val make_utctimestamp_milli : Imandra_prelude.int -> Imandra_prelude.int -> Imandra_prelude.int -> Imandra_prelude.int -> Imandra_prelude.int -> Imandra_prelude.int -> Imandra_prelude.int option -> fix_utctimestamp_milli
Constructor for the UTC timestamp milli
val make_utctimestamp_micro : Imandra_prelude.int -> Imandra_prelude.int -> Imandra_prelude.int -> Imandra_prelude.int -> Imandra_prelude.int -> Imandra_prelude.int -> Imandra_prelude.int option -> fix_utctimestamp_micro
Constructor for the UTC timestamp micro
val convert_utctimestamp_milli_micro : fix_utctimestamp_milli -> fix_utctimestamp_micro
Conversion for the UTC timestamp and timeonly fields
val convert_utctimestamp_micro_milli : fix_utctimestamp_micro -> fix_utctimestamp_milli
val is_valid_utctimestamp_milli : fix_utctimestamp_milli -> bool
Checking validity of the values in the UTC timestamp milli
val is_valid_utctimestamp_micro : fix_utctimestamp_micro -> bool
Checking validity of the values in the UTC timestamp micro
val utctimestamp_Equal_milli_milli : fix_utctimestamp_milli -> fix_utctimestamp_milli -> bool
Two UTC timestamps are equal if they have equal field values
val utctimestamp_Equal_micro_micro : fix_utctimestamp_micro -> fix_utctimestamp_micro -> bool
val utctimestamp_Equal_milli_micro : fix_utctimestamp_milli -> fix_utctimestamp_micro -> bool
val utctimestamp_Equal_micro_milli : fix_utctimestamp_micro -> fix_utctimestamp_milli -> bool
val utctimestamp_GreaterThan_milli_milli : fix_utctimestamp_milli -> fix_utctimestamp_milli -> bool
UTC Timestamp milli base comparison operator
val utctimestamp_GreaterThan_micro_micro : fix_utctimestamp_micro -> fix_utctimestamp_micro -> bool
UTC Timestamp milli base comparison operator
val utctimestamp_GreaterThan_milli_micro : fix_utctimestamp_milli -> fix_utctimestamp_micro -> bool
UTC Timestamp base comparison operator - milli to micro
val utctimestamp_GreaterThan_micro_milli : fix_utctimestamp_micro -> fix_utctimestamp_milli -> bool
UTC Timestamp base comparison operator - micro to milli
val utctimestamp_GreaterThanEqual_milli_milli : fix_utctimestamp_milli -> fix_utctimestamp_milli -> bool
val utctimestamp_GreaterThanEqual_micro_micro : fix_utctimestamp_micro -> fix_utctimestamp_micro -> bool
val utctimestamp_GreaterThanEqual_milli_micro : fix_utctimestamp_milli -> fix_utctimestamp_micro -> bool
val utctimestamp_GreaterThanEqual_micro_milli : fix_utctimestamp_micro -> fix_utctimestamp_milli -> bool
val utctimestamp_LessThan_milli_milli : fix_utctimestamp_milli -> fix_utctimestamp_milli -> bool
val utctimestamp_LessThan_micro_micro : fix_utctimestamp_micro -> fix_utctimestamp_micro -> bool
val utctimestamp_LessThan_milli_micro : fix_utctimestamp_milli -> fix_utctimestamp_micro -> bool
val utctimestamp_LessThan_micro_milli : fix_utctimestamp_micro -> fix_utctimestamp_milli -> bool
val utctimestamp_LessThanEqual_milli_milli : fix_utctimestamp_milli -> fix_utctimestamp_milli -> bool
val utctimestamp_LessThanEqual_micro_micro : fix_utctimestamp_micro -> fix_utctimestamp_micro -> bool
val utctimestamp_LessThanEqual_milli_micro : fix_utctimestamp_milli -> fix_utctimestamp_micro -> bool
val utctimestamp_LessThanEqual_micro_milli : fix_utctimestamp_micro -> fix_utctimestamp_milli -> bool
type fix_localmktdate
=
{
localmktdate_year : Imandra_prelude.int;
localmktdate_month : Imandra_prelude.int;
localmktdate_day : Imandra_prelude.int;
}
LocalMktDate type denotes a particular date
val default_localmktdate : fix_localmktdate
Default LocalMktDate corresponds to 0 unix epoch timestamp
val make_localmktdate : Imandra_prelude.int -> Imandra_prelude.int -> Imandra_prelude.int -> fix_localmktdate
LocalMktDate constructor
val is_valid_localmktdate : fix_localmktdate -> bool
val localmktdate_GreaterThan : fix_localmktdate -> fix_localmktdate -> bool
val localmktdate_LessThan : fix_localmktdate -> fix_localmktdate -> bool
val localmktdate_Equal : fix_localmktdate -> fix_localmktdate -> bool
val localmktdate_GreaterThanEqual : fix_localmktdate -> fix_localmktdate -> bool
val localmktdate_LessThanEqual : fix_localmktdate -> fix_localmktdate -> bool
type fix_monthyear
=
{
monthyear_year : Imandra_prelude.int;
monthyear_month : Imandra_prelude.int;
monthyear_day : Imandra_prelude.int option;
monthyear_week : fix_week option;
}
MonthYear
val default_monthyear : fix_monthyear
val make_monthyear : Imandra_prelude.int -> Imandra_prelude.int -> fix_week option -> fix_monthyear
val is_valid_monthyear : fix_monthyear -> bool
val monthyear_GreaterThan : fix_monthyear -> fix_monthyear -> bool
TODO: Add support for weeks!
val monthyear_LessThan : fix_monthyear -> fix_monthyear -> bool
val monthyear_Equal : fix_monthyear -> fix_monthyear -> bool
val monthyear_GreaterThanEqual : fix_monthyear -> fix_monthyear -> bool
val monthyear_LessThanEqual : fix_monthyear -> fix_monthyear -> bool
type fix_utctimeonly_milli
=
{
utc_timeonly_hour : Imandra_prelude.int;
utc_timeonly_minute : Imandra_prelude.int;
utc_timeonly_second : Imandra_prelude.int;
utc_timeonly_millisec : Imandra_prelude.int option;
}
UTC Timeonly
type fix_utctimeonly_micro
=
{
utc_timeonly_hour : Imandra_prelude.int;
utc_timeonly_minute : Imandra_prelude.int;
utc_timeonly_second : Imandra_prelude.int;
utc_timeonly_microsec : Imandra_prelude.int option;
}
val default_utctimeonly_milli : fix_utctimeonly_milli
val default_utctimeonly_micro : fix_utctimeonly_micro
val normalise_utctimeonly_milli : fix_utctimeonly_milli -> fix_utctimeonly_milli
val normalise_utctimeonly_micro : fix_utctimeonly_micro -> fix_utctimeonly_micro
val make_utctimeonly_milli : Imandra_prelude.int -> Imandra_prelude.int -> Imandra_prelude.int -> Imandra_prelude.int option -> fix_utctimeonly_milli
val make_utctimeonly_micro : Imandra_prelude.int -> Imandra_prelude.int -> Imandra_prelude.int -> Imandra_prelude.int option -> fix_utctimeonly_micro
val convert_utctimeonly_milli_micro : fix_utctimeonly_milli -> fix_utctimeonly_micro
val convert_utctimeonly_micro_milli : fix_utctimeonly_micro -> fix_utctimeonly_milli
val is_valid_utctimeonly_milli : fix_utctimeonly_milli -> bool
val is_valid_utctimeonly_micro : fix_utctimeonly_micro -> bool
val utctimeonly_Equal_milli_milli : fix_utctimeonly_milli -> fix_utctimeonly_milli -> bool
val utctimeonly_Equal_micro_micro : fix_utctimeonly_micro -> fix_utctimeonly_micro -> bool
val utctimeonly_Equal_milli_micro : fix_utctimeonly_milli -> fix_utctimeonly_micro -> bool
val utctimeonly_Equal_micro_milli : fix_utctimeonly_micro -> fix_utctimeonly_milli -> bool
val utctimeonly_GreaterThan_milli_milli : fix_utctimeonly_milli -> fix_utctimeonly_milli -> bool
val utctimeonly_GreaterThan_micro_micro : fix_utctimeonly_micro -> fix_utctimeonly_micro -> bool
val utctimeonly_GreaterThan_milli_micro : fix_utctimeonly_milli -> fix_utctimeonly_micro -> bool
val utctimeonly_GreaterThan_micro_milli : fix_utctimeonly_micro -> fix_utctimeonly_milli -> bool
val utctimeonly_LessThan_milli_milli : fix_utctimeonly_milli -> fix_utctimeonly_milli -> bool
val utctimeonly_LessThan_micro_micro : fix_utctimeonly_micro -> fix_utctimeonly_micro -> bool
val utctimeonly_LessThan_milli_micro : fix_utctimeonly_milli -> fix_utctimeonly_micro -> bool
val utctimeonly_LessThan_micro_milli : fix_utctimeonly_micro -> fix_utctimeonly_milli -> bool
val utctimeonly_LessThanEqual_milli_milli : fix_utctimeonly_milli -> fix_utctimeonly_milli -> bool
val utctimeonly_LessThanEqual_micro_micro : fix_utctimeonly_micro -> fix_utctimeonly_micro -> bool
val utctimeonly_LessThanEqual_milli_micro : fix_utctimeonly_milli -> fix_utctimeonly_micro -> bool
val utctimeonly_LessThanEqual_micro_milli : fix_utctimeonly_micro -> fix_utctimeonly_milli -> bool
val utctimeonly_GreaterThanEqual_milli_milli : fix_utctimeonly_milli -> fix_utctimeonly_milli -> bool
val utctimeonly_GreaterThanEqual_micro_micro : fix_utctimeonly_micro -> fix_utctimeonly_micro -> bool
val utctimeonly_GreaterThanEqual_milli_micro : fix_utctimeonly_milli -> fix_utctimeonly_micro -> bool
val utctimeonly_GreaterThanEqual_micro_milli : fix_utctimeonly_micro -> fix_utctimeonly_milli -> bool
type fix_utcdateonly
=
{
utc_dateonly_year : Imandra_prelude.int;
utc_dateonly_month : Imandra_prelude.int;
utc_dateonly_day : Imandra_prelude.int;
}
UTC Dateonly
val default_utcdateonly : fix_utcdateonly
UTC Dateonly
val make_utcdateonly : Imandra_prelude.int -> Imandra_prelude.int -> Imandra_prelude.int -> fix_utcdateonly
val is_valid_utcdateonly : fix_utcdateonly -> bool
val utcdateonly_GreaterThan : fix_utcdateonly -> fix_utcdateonly -> bool
val utcdateonly_LessThan : fix_utcdateonly -> fix_utcdateonly -> bool
val utcdateonly_Equal : fix_utcdateonly -> fix_utcdateonly -> bool
val utcdateonly_GreaterThanEqual : fix_utcdateonly -> fix_utcdateonly -> bool
val utcdateonly_LessThanEqual : fix_utcdateonly -> fix_utcdateonly -> bool
type fix_duration
=
{
dur_years : Imandra_prelude.int;
dur_months : Imandra_prelude.int;
dur_days : Imandra_prelude.int;
dur_hours : Imandra_prelude.int;
dur_minutes : Imandra_prelude.int;
dur_seconds : Imandra_prelude.int;
}
Duration
val is_valid_duration : fix_duration -> bool
val normalise_duration : fix_duration -> fix_duration
val make_duration : Imandra_prelude.int -> Imandra_prelude.int -> Imandra_prelude.int -> Imandra_prelude.int -> Imandra_prelude.int -> Imandra_prelude.int -> fix_duration
val utctimestamp_milli_duration_Add : fix_utctimestamp_milli -> fix_duration -> fix_utctimestamp_milli
val duration_utctimestamp_milli_Add : fix_duration -> fix_utctimestamp_milli -> fix_utctimestamp_milli
val utctimestamp_micro_duration_Add : fix_utctimestamp_micro -> fix_duration -> fix_utctimestamp_micro
val duration_utctimestamp_micro_Add : fix_duration -> fix_utctimestamp_micro -> fix_utctimestamp_micro
val seconds_to_duration : Imandra_prelude.int -> fix_duration
val duration_to_seconds : fix_duration -> Z.t
TODO This is unfinished -- check how months are accounted for
val duration_Equal : 'a -> 'a -> bool
val duration_GreaterThan : fix_duration -> fix_duration -> bool
val duration_GreaterThanEqual : fix_duration -> fix_duration -> bool
val duration_LessThan : fix_duration -> fix_duration -> bool
val duration_LessThanEqual : fix_duration -> fix_duration -> bool
val convert_utctimestamp_milli_utctimeonly_milli : fix_utctimestamp_milli -> fix_utctimeonly_milli
val convert_utctimestamp_micro_utctimeonly_micro : fix_utctimestamp_micro -> fix_utctimeonly_micro
val convert_utctimestamp_milli_utctimeonly_micro : fix_utctimestamp_milli -> fix_utctimeonly_micro
val convert_utctimestamp_micro_utctimeonly_milli : fix_utctimestamp_micro -> fix_utctimeonly_milli
val convert_utctimestamp_micro_localmktdate : fix_utctimestamp_micro -> fix_localmktdate
val convert_utctimestamp_milli_localmktdate : fix_utctimestamp_milli -> fix_localmktdate
val convert_utctimestamp_micro_dateonly : fix_utctimestamp_micro -> fix_utcdateonly
val convert_utctimestamp_milli_dateonly : fix_utctimestamp_milli -> fix_utcdateonly
val convert_utctimestamp_micro_monthyear : fix_utctimestamp_micro -> fix_monthyear
val convert_utctimestamp_milli_monthyear : fix_utctimestamp_milli -> fix_monthyear