module Time_Zone:sig..end
Time zone management.
You can change the current time zone in your program by side effect.
type t =
| |
UTC |
(* | Greenwich Meridian Time | *) |
| |
Local |
(* | Local Time | *) |
| |
UTC_Plus of |
(* | Another time zone specified from UTC | *) |
Type of a time zone.
val current : unit -> tReturn the current time zone. It is UTC before any change.
val change : t -> unitChange the current time zone by another one.
Raise Invalid_argument if the specified time zone is UTC_Plus x with
x < -12 or x > 11
val gap : t -> t -> intReturn the gap between two time zone.
gap UTC (UTC_Plus 5) returns 5 and, at Paris in summer,
gap Local UTC returns -2.val from_gmt : unit -> intfrom_gmt () is equivalent to gap UTC (current ()).
val to_gmt : unit -> intto_gmt () is equivalent to gap (current ()) UTC.
val is_dst : unit -> boolis_dst () checks if daylight saving time is in effect.
Only relevant in local time.
Returns alway false in another time zone.
val hour_of_dst : unit -> inthour_of_dst () returns 1 if is_dst () and 0 otherwise.
val on : ('a -> 'b) -> t -> 'a -> 'bon f tz x changes the time zone to tz, then computes f x, and
finally reset the time zone to the initial one and returns the result of
the computation.