Module Time_Zone

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 int (*Another time zone specified from UTC*)
Type of a time zone.
val current : unit -> t
Return the current time zone. It is UTC before any change.
val change : t -> unit
Change 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 -> int
Return the gap between two time zone.
Example: gap UTC (UTC_Plus 5) returns 5 and, at Paris in summer, gap Local UTC returns -2.
val from_gmt : unit -> int
from_gmt () is equivalent to gap UTC (current ()).
val to_gmt : unit -> int
to_gmt () is equivalent to gap (current ()) UTC.
val is_dst : unit -> bool
is_dst () checks if daylight saving time is in effect. Only relevant in local time. Returns alway false in another time zone.
Since 1.09.4
val hour_of_dst : unit -> int
hour_of_dst () returns 1 if is_dst () and 0 otherwise.
Since 1.09.4
val on : ('a -> 'b) -> t -> 'a -> 'b
on 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.
Since 2.0