timeZone-class
Time Zone Classes

### Description

The timeZone classes represent time zones.

### Details

The timeZone class is a virtual class for time zones. All time zones classes have an is relationship with timeZone.
The timeZoneC class is 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 timeZoneR class is for user-defined time zones, and also extends timeZone.
'timezone' slots
timeZone is a virtual class and has no slots.
'timezonec' slots
name
(character) the name of a built-in time zone.
'timezones' slots
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).
Built-in zones
The splusTimeDate package 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 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).
- Hong Kong (1970 and beyond).

Also, we 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).
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
You can use the time zones listed in Built-In Zones for 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 are not used directly, because users want to use the names commonly used in their areas, 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 time zones listed in Built-In Zones, users can also define their own time zones through use of the timeZoneR 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):

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 | indicates whether 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, and so on.
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 timeZoneR 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
timeZoneC function, timeZoneR function, timeZoneList function.
Package splusTimeDate version 6.1.5-18
Package Index