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 example,
- <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 TZ-string. If
time-zonecannot interpret TZ-string,
tz is a time-zone object.
tz:paramsreturns a list of three items:
- 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.
- The number of seconds west of the Prime Meridian timezone tz is at caltime.
- The name for timezone tz at caltime.
tz:paramsis unaffected by the default timezone; inquiries can be made of any timezone at any calendar time.
tz is a time-zone object.
tz:std-offsetreturns 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.
Sets (and returns) the default time-zone to that specified by TZ-string.
tzsetalso 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
#tif 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.