module Time_Zone:sig
..end
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
| *) |
val current : unit -> t
UTC
before any change.val change : t -> unit
Invalid_argument
if the specified time zone is UTC_Plus x
with
x < -12
or x > 11
val gap : t -> t -> int
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.val hour_of_dst : unit -> int
hour_of_dst ()
returns 1
if is_dst ()
and 0
otherwise.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.