Time

`sig
type t
type field = [ `Hour | `Minute | `Second ]
type second = int
module Second :
sig
type t = second
val from_int : int -> t
val from_float : float -> t
val to_int : t -> int
val to_float : t -> float
end
val make : int -> int -> second -> t
val lmake : ?hour:int -> ?minute:int -> ?second:second -> unit -> t
val now : unit -> t
val midnight : unit -> t
val midday : unit -> t
val convert : t -> Time_Zone.t -> Time_Zone.t -> t
val from_gmt : t -> t
val to_gmt : t -> t
val normalize : t -> t * int
val hour : t -> int
val minute : t -> int
val second : t -> second
val to_seconds : t -> second
val to_minutes : t -> float
val to_hours : t -> float
val equal : t -> t -> bool
val compare : t -> t -> int
val hash : t -> int
val is_pm : t -> bool
val is_am : t -> bool
val from_seconds : second -> t
val from_minutes : float -> t
val from_hours : float -> t
module Period :
sig
type +'a period constraint 'a = [< Period.date_field ]
type t = Period.date_field period
val empty : [< Period.date_field ] period
val add :
([< Period.date_field ] as 'a) period -> 'a period -> 'a period
val sub :
([< Period.date_field ] as 'a) period -> 'a period -> 'a period
val opp : ([< Period.date_field ] as 'a) period -> 'a period
val equal :
[< Period.date_field ] period ->
[< Period.date_field ] period -> bool
val compare :
[< Period.date_field ] period -> [< Period.date_field ] period -> int
val hash : [< Period.date_field ] period -> int
val length : [< Period.date_field ] period -> second
val mul :
([< Period.date_field ] as 'a) period -> 'a period -> 'a period
val div :
([< Period.date_field ] as 'a) period -> 'a period -> 'a period
val make : int -> int -> second -> [< Period.date_field ] period
val lmake :
?hour:int ->
?minute:int ->
?second:second -> unit -> [< Period.date_field ] period
val hour : int -> [< Period.date_field ] period
val minute : int -> [< Period.date_field ] period
val second : second -> [< Period.date_field ] period
val to_seconds : [< Period.date_field ] period -> second
val to_minutes : [< Period.date_field ] period -> float
val to_hours : [< Period.date_field ] period -> float
end
val add : t -> [< Period.date_field ] Period.period -> t
val sub : t -> t -> [< Period.date_field ] Period.period
val rem : t -> [< Period.date_field ] Period.period -> t
val next : t -> field -> t
val prev : t -> field -> t
end`