POSIX standards specify several formats for encoding time-zone rules.
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.
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
<dst> is the at least 3 alphabetic characters naming the local daylight-savings-time.
<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.
The <time>s are specified like the <offset>s above, except that leading ‘+’ and ‘-’ are not allowed.
Each <date> has one of the formats:
specifies the Julian day with <day> between 1 and 365. February 29 is never counted and cannot be referenced.
This specifies the Julian day with n between 0 and 365. February 29 is counted in leap years and can be specified.
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.
is a datatype encoding how many hours from Greenwich Mean Time the local time is, and the Daylight Savings Time rules for changing it.
Creates and returns a time-zone object specified by the string
time-zone cannot interpret TZ-string,
#f is returned.
tz is a time-zone object.
tz:params returns a list of
tz:params is unaffected by the default timezone; inquiries can be
made of any timezone at any calendar time.
tz is a time-zone object.
tz:std-offset returns the
number of seconds west of the Prime Meridian timezone tz is.
The rest of these procedures and variables are provided for POSIX compatability. Because of shared state they are not thread-safe.
Returns the default time-zone.
Sets (and returns) the default time-zone to tz.
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
(see Time and Date).
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
#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.
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.