Time Zone
---------
(require 'time-zone)
- Data Format: TZ-string
POSIX standards specify several formats for encoding time-zone
rules.
:<pathname>
If the first character of <pathname> is `/', then <pathname>
specifies the absolute pathname of a tzfile(5) format
time-zone file. Otherwise, <pathname> is interpreted as a
pathname within TZFILE:VICINITY (/usr/lib/zoneinfo/) naming a
tzfile(5) format time-zone file.
<std><offset>
The string <std> consists of 3 or more alphabetic characters.
<offset> specifies the time difference from GMT. The <offset>
is positive if the local time zone is west of the Prime
Meridian and negative if it is east. <offset> can be the
number of hours or hours and minutes (and optionally seconds)
separated by `:'. For example, `-4:30'.
<std><offset><dst>
<dst> is the at least 3 alphabetic characters naming the local
daylight-savings-time.
<std><offset><dst><doffset>
<doffset> specifies the offset from the Prime Meridian when
daylight-savings-time is in effect.
The non-tzfile formats can optionally be followed by transition
times specifying the day and time when a zone changes from
standard to daylight-savings and back again.
,<date>/<time>,<date>/<time>
The <time>s are specified like the <offset>s above, except
that leading `+' and `-' are not allowed.
Each <date> has one of the formats:
J<day>
specifies the Julian day with <day> between 1 and 365.
February 29 is never counted and cannot be referenced.
<day>
This specifies the Julian day with n between 0 and 365.
February 29 is counted in leap years and can be
specified.
M<month>.<week>.<day>
This specifies day <day> (0 <= <day> <= 6) of week
<week> (1 <= <week> <= 5) of month <month> (1 <= <month>
<= 12). Week 1 is the first week in which day d occurs
and week 5 is the last week in which day <day> occurs.
Day 0 is a Sunday.
- Data Type: time-zone
is a datatype encoding how many hours from Greenwich Mean Time the
local time is, and the "Daylight Savings Time" rules for changing
it.
- Function: time-zone TZ-string
Creates and returns a time-zone object specified by the string
TZ-STRING. If `time-zone' cannot interpret TZ-STRING, `#f' is
returned.
- Function: tz:params caltime tz
TZ is a time-zone object. `tz:params' returns a list of three
items:
0. An integer. 0 if standard time is in effect for timezone TZ
at CALTIME; 1 if daylight savings time is in effect for
timezone TZ at CALTIME.
1. The number of seconds west of the Prime Meridian timezone TZ
is at CALTIME.
2. The name for timezone TZ at CALTIME.
`tz:params' is unaffected by the default timezone; inquiries can be
made of any timezone at any calendar time.
The rest of these procedures and variables are provided for POSIX
compatability. Because of shared state they are not thread-safe.
- Function: tzset
Returns the default time-zone.
- Function: tzset tz
Sets (and returns) the default time-zone to TZ.
- Function: tzset TZ-string
Sets (and returns) the default time-zone to that specified by
TZ-STRING.
`tzset' also sets the variables *TIMEZONE*, DAYLIGHT?, and TZNAME.
This function is automatically called by the time conversion
procedures which depend on the time zone (Note:Time and Date).
- Variable: *timezone*
Contains the difference, in seconds, between Greenwich Mean Time
and local standard time (for example, in the U.S. Eastern time
zone (EST), timezone is 5*60*60). `*timezone*' is initialized by
`tzset'.
- Variable: daylight?
is `#t' if the default timezone has rules for "Daylight Savings
Time". _Note:_ DAYLIGHT? does not tell you when Daylight Savings
Time is in effect, just that the default zone sometimes has
Daylight Savings Time.
- Variable: tzname
is a vector of strings. Index 0 has the abbreviation for the
standard timezone; If DAYLIGHT?, then index 1 has the abbreviation
for the Daylight Savings timezone.