Time Zone Classes

DESCRIPTION:

The timeZone classes represent time zones in S.

'timeZone' SLOTS:

timeZone is a virtual class, and has no slots.

'timeZoneC' SLOTS:

ARGUMENTS:

name
( character) the name of a built-in time zone.

'timeZoneS' SLOTS:

ARGUMENTS:

offset
( integer) the offset from GMT (in seconds) when not on daylight savings time.
rules
( data.frame) rules encoding when to go on daylight savings time (see below).

DETAILS:

The timeZone class is a virtual class for time zones in S-PLUS. All time zones classes have an is relationship with timeZone. The timeZoneC class is basically a placeholder for a built-in time zone, and it has only one slot, which is the official name of the zone; it extends timeZone. The timeZoneS class is for user-defined time zones, and also extends timeZone .

BUILT-IN ZONES:

S-PLUS contains built-in time zones for the 24 standard time zones around the world. We also include daylight savings time in various areas, and standard time for Central Australia, which is 1/2 hour off of Eastern Australia. Currently, the correct daylight savings areas provided are: US (1967 and beyond), Canada (1974 and beyond), New Zealand (1976 and beyond), Australia (1973 and beyond), Great Britain (1972 and beyond), European Union (1977 and beyond), and Hong Kong (1970 and beyond). We also provide a special time zone for Singapore, which was 7:30 ahead of GMT until May of 1982, when it changed over to 8:00. The official names of the time zones, in order around the world, are shown below along with their offset from Universal Coordinated Time (UTC, also known as GMT).

ARGUMENTS:

st/newzealand
Standard time for New Zealand, UTC East 12 hours
newzealand
Standard/summer time for New Zealand
st/caroline
Standard time for Caroline, UTC East 11 hours
st/eaustralia
Standard time for Eastern Australia, UTC East 10 hours
aust/nsw
Standard/summer time for New South Wales, Australia
aust/tasmania
Standard/summer time for Tasmania, Australia
aust/victoria
Standard/summer time for Victoria, Australia
st/caustralia
Standard time for Central Australia, UTC East 9:30 hours
aust/south
Standard/summer time for South Australia
st/japan
Standard time for Japan, UTC East 9 hours
st/china
Standard time for China, UTC East 8 hours
aust/western
Standard/summer time for Western Australia
hongkong
Standard/summer time for Hong Kong
singapore
Standard time for Singapore, reflecting changed zones in 1982
st/saigon
Standard time for Saigon, UTC East 7 hours
st/kazakh
Standard time for Kazakh area, UTC East 6 hours
st/pakistan
Standard time for Pakistan, UTC East 5 hours
st/caspian
Standard time for Caspian Sea area, UTC East 4 hours
st/moscow
Standard time for Moscow, UCT East 3 hours
st/eeurope
Standard time in Eastern European zone, UTC East 2 hours
europe/east
Standard/summer time for EU members, Eastern zone
st/ceurope
Standard time in Central European zone, UTC East 1 hour
europe/central
Standard/summer time for EU members, Central zone
utc
UTC (also known as GMT)
britain
Standard/summer time for Great Britain
europe/west
Standard/summer time for EU members, Western zone
st/azores
Standard time for Azores, UTC West 1 hour
st/oscar
Standard time for Oscar, UTC West 2 hours
st/wgreenland
Standard time for Western Greenland, UTC West 3 hours
can/newfoundland
Standard/daylight time for Newfoundland, Canada
st/atlantic
Standard time for Atlantic time zone, UTC West 4 hours
can/atlantic
Standard/daylight Canadian Atlantic time
st/eastern
Standard time for Eastern time zone, UTC West 5 hours
us/eastern
Standard/daylight US Eastern time
can/eastern
Standard/daylight Canadian Eastern time
st/central
Standard time for Central time zone, UTC West 6 hours
us/central
Standard/daylight US Central time
can/central
Standard/daylight Canadian Central time
st/mountain
Standard time for Mountain time zone, UTC West 7 hours
us/mountain
Standard/daylight US Mountain time
can/mountain
Standard/daylight Canadian Mountain time
st/pacific
Standard time for Pacific time zone, UTC West 8 hours
us/pacific
Standard/daylight US Pacific time
can/pacific
Standard/daylight Canadian Pacific time
st/alaska
Standard time for Alaska/Yukon time, UTC West 9 hours
us/alaska
Standard/daylight US Alaska time
can/yukon
Standard/daylight Canadian Yukon time
st/hawaii
Standard time for Hawaii/Alleutian, UTC West 10 hours
us/hawaii
Standard/daylight US Hawaii/Alleutian time
st/samoa
Standard time for Samoa, UTC West 11 hours

USING ZONES:

The time zones listed above can be used in various operations on timeDate objects, including reading times from character data, writing times as character data, and converting between time zones. However, normally the names listed in the table will not be used directly, because users will want to use the names commonly in use in their area, such as CST for Central Standard Time in the US, Canada, or Australia. The correspondence between "convenient" and "official" names is set up using the timeZoneList function.

DEFINING ZONES:

Besides using the built-in time zones above, users can also define their own time zones through use of the timeZoneS class. This class allows specification of a time zone with an offset from GMT, in seconds, in the offset slot, and a data frame containing rules for when and how to go on daylight savings time in the rules slot. (If there is no daylight savings time in this time zone, the data frame should be empty or have 0 rows.) Each row in the rules data frame encodes a range of years' daylight savings rules; they must be in order to work properly. The rules are encoded in the following columns of the data frame (which must be in order, and all of class integer):

VALUE:

yearfrom
starting year for rules, or -1 to start at the beginning of time.
yearto
ending year for rules, or -1 to end at the end of time.
hasdaylight
whether or not daylight savings time is used in this year range. Note that this is an integer value, 1 or 0 for true or false.
dsextra
offset (in seconds) to add to the regular offset when daylight time is in effect.
monthstart
month (1-12) in which daylight savings time starts (may be before monthend for southern hemisphere).
codestart
code telling how to interpret daystart and xdaystart to calculate the day within the month for starting daylight savings time. 1: start on the daystart (1-31) day of the month. 2: start on the last daystart (0-Sunday through 6-Saturday) weekday in the month. 3: start on the first daystart weekday (0-Sunday through 6-Saturday) on or after the xdaystart (1-31) day of the month. 4: start on the last daystart weekday (0-Sunday through 6-Saturday) on or before the xdaystart (1-31) day of the month.
daystart
see codestart.
xdaystart
see codestart.
timestart
seconds after midnight local standard time to start daylight savings time, on the day specified by codestart, etc.
monthend
month (1-12) in which daylight savings time ends (may be after monthstart for southern hemisphere).
codeend
code telling how to interpret dayend and xdayend to calculate the day within the month for ending daylight savings time. 1: end on the dayend (1-31) day of the month. 2: end on the last dayend (0-Sunday through 6-Saturday) weekday in the month. 3: end on the first dayend weekday (0-Sunday through 6-Saturday) on or after the xdayend (1-31) day of the month. 4: end on the last dayend weekday (0-Sunday through 6-Saturday) on or before the xdayend (1-31) day of the month.
dayend
see codeend.
xdayend
see codeend. For examples, see the timeZoneS function. To use user-defined time zones, you must put them in the time zone list (see timeZoneList function).
timeend
seconds after midnight local standard time to end daylight savings time, on the day specified by codeend, etc.

REFERENCES:

Daylight savings boundaries and other time zone information was taken from the public-domain time zone library from the ftp://elsie.nci.nih.gov/pub/ ftp site.

SEE ALSO:

function, function, function.