Module Fcalendar.Period
A period is the number of seconds between two calendars.
Arithmetic operations
type +'a period
constraint 'a = [< CalendarLib.Period.date_field ]
type t
= Period.date_field period
Type of a period.
Period is an additive monoid
val empty : 'a period
The empty period.
Periods are comparable
val equal : 'a period -> 'b period -> bool
Equality function between two periods.
- see Utils.Comparable.html#VALequal
Utils.Comparable.equal
- since
- 1.09.0
val compare : 'a period -> 'b period -> int
Comparison function between two periods.
- see Utils.Comparable.html#VALcompare
Utils.Comparable.compare
val hash : 'a period -> int
Hash function for periods.
- see Utils.Comparable.html#VALhash
Utils.Comparable.hash
- since
- 2.0
Constructors
val make : int -> int -> int -> int -> int -> second -> t
make year month day hour minute second
makes a period of the specified length.
val lmake : ?year:int -> ?month:int -> ?day:int -> ?hour:int -> ?minute:int -> ?second:second -> unit -> t
Labelled version of
make
. The default value of each argument is0
.
val year : int -> [> `Year ] period
- see Date_sig.S.Period.html#VALyear
Date_sig.S.Period.year
val month : int -> [> `Year | `Month ] period
- see Date_sig.S.Period.html#VALmonth
Date_sig.S.Period.month
val week : int -> [> `Week | `Day ] period
- see Date_sig.S.Period.html#VALweek
Date_sig.S.Period.week
val day : int -> [> `Week | `Day ] period
- see Date_sig.S.Period.html#VALday
Date_sig.S.Period.day
val hour : int -> [> `Week | `Day ] period
- see Time_sig.S.Period.html#VALhour
Time_sig.S.Period.hour
val minute : int -> [> `Week | `Day ] period
- see Time_sig.S.Period.html#VALminute
Time_sig.S.Period.minute
val second : second -> [> `Week | `Day ] period
- see Time_sig.S.Period.html#VALsecond
Time_sig.S.Period.second
Coercions
val from_date : 'a Date.Period.period -> 'a period
Convert a date period to a calendar period.
val from_time : 'a Time.Period.period -> 'a period
Convert a time period to a calendar period.
val to_date : 'a period -> 'a Date.Period.period
val to_time : 'a period -> 'a Time.Period.period
val safe_to_time : [< `Week | `Day ] as a period -> 'a Time.Period.period
Equivalent to
to_time
but never raises any exception.- since
- 2.02