Calendar_sig

`sig
module type S =
sig
module Date : Date_sig.S
module Time : Time_sig.S
type t
type day = Date.day = Sun | Mon | Tue | Wed | Thu | Fri | Sat
type month =
Date.month =
Jan
| Feb
| Mar
| Apr
| May
| Jun
| Jul
| Aug
| Sep
| Oct
| Nov
| Dec
type year = Date.year
type second = Time.second
type field =
[ `Day | `Hour | `Minute | `Month | `Second | `Week | `Year ]
val make :
int ->
int -> int -> int -> int -> Calendar_sig.S.second -> Calendar_sig.S.t
val lmake :
year:int ->
?month:int ->
?day:int ->
?hour:int ->
?minute:int ->
?second:Calendar_sig.S.second -> unit -> Calendar_sig.S.t
val create : Date.t -> Time.t -> Calendar_sig.S.t
val now : unit -> Calendar_sig.S.t
val from_jd : float -> Calendar_sig.S.t
val from_mjd : float -> Calendar_sig.S.t
val convert :
Calendar_sig.S.t -> Time_Zone.t -> Time_Zone.t -> Calendar_sig.S.t
val to_gmt : Calendar_sig.S.t -> Calendar_sig.S.t
val from_gmt : Calendar_sig.S.t -> Calendar_sig.S.t
val days_in_month : Calendar_sig.S.t -> int
val day_of_week : Calendar_sig.S.t -> Calendar_sig.S.day
val day_of_month : Calendar_sig.S.t -> int
val day_of_year : Calendar_sig.S.t -> int
val week : Calendar_sig.S.t -> int
val month : Calendar_sig.S.t -> Calendar_sig.S.month
val year : Calendar_sig.S.t -> int
val to_jd : Calendar_sig.S.t -> float
val to_mjd : Calendar_sig.S.t -> float
val hour : Calendar_sig.S.t -> int
val minute : Calendar_sig.S.t -> int
val second : Calendar_sig.S.t -> Calendar_sig.S.second
val equal : Calendar_sig.S.t -> Calendar_sig.S.t -> bool
val compare : Calendar_sig.S.t -> Calendar_sig.S.t -> int
val hash : Calendar_sig.S.t -> int
val is_leap_day : Calendar_sig.S.t -> bool
val is_gregorian : Calendar_sig.S.t -> bool
val is_julian : Calendar_sig.S.t -> bool
val is_pm : Calendar_sig.S.t -> bool
val is_am : Calendar_sig.S.t -> bool
val to_unixtm : Calendar_sig.S.t -> Unix.tm
val from_unixtm : Unix.tm -> Calendar_sig.S.t
val to_unixfloat : Calendar_sig.S.t -> float
val from_unixfloat : float -> Calendar_sig.S.t
val from_date : Date.t -> Calendar_sig.S.t
val to_date : Calendar_sig.S.t -> Date.t
val to_time : Calendar_sig.S.t -> Time.t
module Period :
sig
type +'a period constraint 'a = [< Period.date_field ]
type t = Period.date_field Calendar_sig.S.Period.period
val empty : [< Period.date_field ] Calendar_sig.S.Period.period
val add :
([< Period.date_field > `Day `Week ] as 'a)
Calendar_sig.S.Period.period ->
'a Calendar_sig.S.Period.period ->
'a Calendar_sig.S.Period.period
val sub :
([< Period.date_field > `Day `Week ] as 'a)
Calendar_sig.S.Period.period ->
'a Calendar_sig.S.Period.period ->
'a Calendar_sig.S.Period.period
val opp :
([< Period.date_field > `Day `Week ] as 'a)
Calendar_sig.S.Period.period -> 'a Calendar_sig.S.Period.period
val equal :
[< Period.date_field ] Calendar_sig.S.Period.period ->
[< Period.date_field ] Calendar_sig.S.Period.period -> bool
val compare :
[< Period.date_field ] Calendar_sig.S.Period.period ->
[< Period.date_field ] Calendar_sig.S.Period.period -> int
val hash :
[< Period.date_field ] Calendar_sig.S.Period.period -> int
val make :
int ->
int ->
int ->
int -> int -> Calendar_sig.S.second -> Calendar_sig.S.Period.t
val lmake :
?year:int ->
?month:int ->
?day:int ->
?hour:int ->
?minute:int ->
?second:Calendar_sig.S.second -> unit -> Calendar_sig.S.Period.t
val year :
int ->
[< Period.date_field > `Year ] Calendar_sig.S.Period.period
val month :
int ->
[< Period.date_field > `Month `Year ]
Calendar_sig.S.Period.period
val week :
int ->
[< Period.date_field > `Day `Week ] Calendar_sig.S.Period.period
val day :
int ->
[< Period.date_field > `Day `Week ] Calendar_sig.S.Period.period
val hour :
int ->
[< Period.date_field > `Day `Week ] Calendar_sig.S.Period.period
val minute :
int ->
[< Period.date_field > `Day `Week ] Calendar_sig.S.Period.period
val second :
Calendar_sig.S.second ->
[< Period.date_field > `Day `Week ] Calendar_sig.S.Period.period
val from_date :
([< Period.date_field ] as 'a) Date.Period.period ->
'a Calendar_sig.S.Period.period
val from_time :
([< Period.date_field ] as 'a) Time.Period.period ->
'a Calendar_sig.S.Period.period
val to_date :
([< Date.field ] as 'a) Calendar_sig.S.Period.period ->
'a Date.Period.period
exception Not_computable
val to_time :
([< Period.date_field ] as 'a) Calendar_sig.S.Period.period ->
'a Time.Period.period
val safe_to_time :
([< `Day | `Week ] as 'a) Calendar_sig.S.Period.period ->
'a Time.Period.period
val ymds :
[< Period.date_field ] Calendar_sig.S.Period.period ->
int * int * int * Calendar_sig.S.second
end
val add :
Calendar_sig.S.t ->
[< Period.date_field ] Calendar_sig.S.Period.period ->
Calendar_sig.S.t
val sub :
Calendar_sig.S.t ->
Calendar_sig.S.t ->
[< Period.date_field > `Day `Week ] Calendar_sig.S.Period.period
val precise_sub :
Calendar_sig.S.t -> Calendar_sig.S.t -> Calendar_sig.S.Period.t
val rem :
Calendar_sig.S.t ->
[< Period.date_field ] Calendar_sig.S.Period.period ->
Calendar_sig.S.t
val next : Calendar_sig.S.t -> Calendar_sig.S.field -> Calendar_sig.S.t
val prev : Calendar_sig.S.t -> Calendar_sig.S.field -> Calendar_sig.S.t
end
end`