Added by gunther.stuhec, last edited by gunther.stuhec on Sep 16, 2008

Labels

 
(None)

<-- try

Unknown macro: {putHeader();}

catch(e) { } // function not found - omit header line -->NW F - Internationalization (I18n) & Printing


Time Zone Code Standard

Proposal

Introduction

We need a standard to code all time zones in the world with unique identifiers. A time zone is not only given by the offset in hours (and minutes) compared to UTC, but also by the rules for daylight saving time that apply to a certain region.
We also need a standard to designate and qualify a time point. For this the same designator shall be used as for time zone codes, where a "D" is added if daylight saving time applies.
This proposal introduces notations for both time zone codes and time descriptors in a generic way. That is, it applies to all existing time zones as well as for time zones that will be built in the future or did exist in the past (for example by daylight saving time rule changes).

The Proposal

Time Zone Name

There already exists a convention to refer to geographical base time zones by their time offset to UTC. Basing on this convention we propose to code the time zones in the following manner: time_zone_identifier = geographical_time_zone_identifier
[daylight_saving_time_rule]
The daylight saving time rule is given by the regional code that corresponds to the regional authority who defines the rule that applies (usually by law). daylight_saving_time_rule = country_(or_continent)_code_ISO
[ "_" regional_code
[ "_" variant] ]
The geographical time zone identifier is derived from the offset to UTC. Origin for UTC is the Zero Meridian going through Greenwich. Time zones where the sun rises earlier, have positive offsets to UTC and are marked with P (plus), time zones where the sun rises later, are marked with M (minus), followed by two digits for the hours and two digits for the minutes which specify the exact offset to UTC (without daylight saving time). geographical_time_zone_identifier = ("P" / "M") ("0"-"9")*4
The country (or continent) code is given by ISO standard and consists of two (if possible) or three capital letters. For each the regional code and the variant two letters are allowed. country_(or_continent)_code_ISO = ("A""Z")*2 / ("A""Z")*3 regional_code = ("A""Z")*2 variant = ("A""Z")*2

Time Descriptor

The time descriptor to designate a certain time point then is defined to be

  • equal to the time zone identifier if no daylight saving time applies,
  • equal to the time zone identifier followed by a "D" if daylight saving time applies.

That is, the time descriptor has the following form. time_descriptor = geographical_time_zone_identifier
[ daylight_saving_time_rule
[ daylight_saving_time_indicator ] ] daylight_saving_time_rule = country_(or_continent)_code_ISO
[ "_" regional_code
[ "" variant] ] geographical_time_zone_identifier = ("P" / "M") ("0""9")*4 country(or_continent)_code_ISO = ("A""Z")*2 / ("A""Z")*3 regional_code = ("A""Z")*2 variant = ("A"-"Z")*2 daylight_saving_time_indicator = "_D"

Example

The time zone code that applies to Germany is P0100EU, as it lies in geographic time zone UTC+1 and obeys the European daylight saving time rule.
The current date and time in Walldorf is 2005-10-13, 11:45 P0100EU_D.

Details and Explanation

In some of the time zones an offset applies to some regions that does not consist of entire hours. For example India does not have an offset of 5 hours to UTC, but 5 hours and 30 minutes, Nepal has an offset of 5 hours and 45 minutes. Some regions of Kiribati have an offset of 13 or 14 hours to UTC.
New Foundland, Canada lies in the time zone UTC-3:30. In our notation this is M0330.

Except for Europe, the daylight saving time rule of one country either is defined by the legislative of this country, or it follows the one of another country. That means except for the countries that follow the daylight saving time rule of Europe, the country code corresponding to the regional authority followed is used to identify a daylight saving time rule.
In some regions, the daylight saving time rule is more complex.

  • Brazil sets its Summer time by decree every year. Some states / counties observe Summer time on a year to year basis. Here, the state code is used in addition to the country code of Brazil.
  • In the USA, the daylight saving time rule is even more complex. The state of Arizona does not observe DST. However the Navajo Reservation (see USA map) does change to daylight saving time. The Hopi Reservation is within the Navajo Reservation and does not observe DST (as rest of the state).

The daylight saving time rule itself is not part of this proposal. The rule is defined by law in each country and can change on a yearly basis. The current status (2005) is given in the appendix for orientation. We give a generic rule how to refer to an existing (or future/past) daylight saving time rule.

Examples

Some more examples for time zone identifiers:

Country Time Zone Code Remark Traditional Name
Ireland P0000EU (geo base time zone UTC, European daylight saving time) GMT, WET, in summer IST
Germany P0100EU (geo base time zone UTC+1, European daylight saving time rule) CET, MET
Israel P0200IL (geo time zone UTC+2, Israelian daylight saving time) IST
India P0530 (geo time zone UTC+5:30, no daylight saving time)
China P0800 (geo time zone UTC+8:00, no daylight saving time) CST
Australia - New South Wales P0930AU (geo time zone UTC+9:30, Australian daylight saving time rule) CAST, CST
Australia - Norfolk Island P1130 (geo time zone UTC+11:30, no daylight saving time rule) NFT
New Zealand - Chatham Island P1245NZ (geo time zone UTC+12:45, New Zealandian daylight saving time rule) CHAST
Baker Island M1200 (geo time zone UTC-12:00, no daylight saving time) IDLW
United States - Colorado M0700US (geo time zone UTC-7:00, United States rule for daylight saving time) MST
United States - Arizona M0700 (geo time zone UTC-7:00, no daylight saving time) MST
United States - Arizona - Navajo Reservation M0700US (geo base time zone UTC+7:00, daylight saving time rule of the US)
in case the Navajo reservation changes its daylight saving time rule from following US to something else, M0700US_AZ_NV would be introduced
MST
United States - Alabama M0600US (geo time zone UTC-6:00, United States rule for daylight saving time) CST
Cuba M0500CU (geo time zone UTC-5:00, Cuba daylight saving time rule) AST, in summer CST
Canada, New Foundland M0330CA (geo time zone UTC-3:30, Canadian daylight saving time rule) NFT, NST
Greenland (east) M0100GL (geo time zone UTC-1:00, Greenlandian daylight saving time rule) EGT

Appendix

Suggested DST rule codes.
Note: The rules for DST start and end are as known in 2005, and may change any time. Also the assignment of country or regions to rules may change. The suggested names are based on the ISO language code of the country/continent they originally come from.

DST Rule Used in Country/Region in 2005 Start of DST rule in 2005 End of DST rule in 2005
EU Albania
Andorra
Austria
Belgium
Bosnia and Herzogowina
Bulgaria
Channel Islands
Croatia
Cyprus
Czech Republic
Denmark
Denmark - Faroe Islands
Estonia
Finland
France
Germany
Greece
Hungary
Isle of Man
Ireland
Italy
Latvia
Liechtenstein
Lithuania
Luxembourg
Macedonia
Malta
Moldova
Monaco
Montenegro
Netherlands
Norway
Poland
Portugal
Portugal - Madeira
Portugal - Azores
Romania
San Marino
Serbia
Slovak Republic
Slovenia
Spain
Spain - Canary Islands
Sweden
Switzerland
Turkey
U.K. - England
U.K. - Gibraltar
U.K. - Northern Ireland
U.K. - Scotland
U.K. - Wales
Ukraine
Vatican City
Last Sunday in March, at 01:00 UTC Last Sunday in October, at 01:00 UTC
US Bahamas
Bermuda
Canada
Saint Pierre and Miquelon
Turks and Caicos Islands
USA
Second Sunday in March, at 02:00 local time First Sunday in November, at 02:00 local daylight saving time
AR Argentina First Sunday in October, at 0:00 local time Third Sunday in March, at 0:00 local daylight saving time
AM Armenia last Sunday in March , at 02:00 local time last Sunday in October, at 03:00 local daylight saving time
AZ Azerbaijan last Sunday in March 0:00 UTC last Sunday in October 0:00 UTC
BY Belarus last Sunday in March 0:00 UTC last Sunday in October 0:00 UTC
BR Brazil (part) First Sunday in November, at 0:00 local time Third Sunday in February, at 0:00 local daylight saving time
CU Cuba Third Sunday in March, at 00:00 local time Last Sunday October, at 01:00 local daylight saving time
EG Egypt Last Friday in April, at 0:00 local time Last Friday in August, at 0:00 local daylight saving time
FK U.K. Falkland Islands (Malvinas) First Sunday September, at 02:00 local time Third Sunday April, at 02:00 local daylight saving time
IL_GA Gaza Strip Last Friday in March, at 0:00 local time First Saturday in October, at 02:00 local daylight saving time
GL Denmark - Greenland Saturday before last Sunday in March, at 01:00 UTC Saturday before last Sunday in October, at 01:00 UTC
IR Iran the first day of Farvardin, at 0:00 local time the first day of Mehr, at 0:00 local daylight saving time
IL Israel Last Friday in March, at 02:00 local time first Sunday in October, at 02:00 local daylight saving time
JO Jordan Last Friday in March, at 0:00 local time Last Friday in October, at 01:00 local daylight saving time
LB Lebanon Last Sunday in March 22:00 UTC Last Sunday in October 21:00 UTC
MU Mauritius Last Sunday in October, at 2:00 local time Last Sunday in March, at 2:00 local daylight saving time
MX Mexico First Sunday in April, at 02:00 local time Last Sunday in October, at 02:00 local daylight saving time
MA Morocco First Sunday in June, at 0:00 local time Last Sunday in September, at 0:00 local daylight saving time
NA Namibia First Sunday in September, at 02:00 local time First Sunday in April, at 02:00 local daylight saving time
PK Pakistan First of June, at 0:00 local time First of September, at 0:00 local daylight saving time
PS Palestinian Territoris Last Friday in March, at 0:00 local time First Saturday in October, at 2:00 local daylight saving time
PY Paraguay Third Sunday in October, at 0:00 local time Second Sunday in March, at 0:00 local daylight saving time
RU Russia Last Sunday in March 23:00 UTC Last Sunday in October 23:00 UTC
SY Syria First Friday in April, at 0:00 local time First of October, at 0:00 local daylight saving time
TN Tunisia Last Sunday in March, at 2:00 local time Last Sunday in October, at 3:00 local daylight saving time
UY Uruguay First Sunday in October, at 2:00 local time Second Sunday in March, at 2:00 local daylight saving time
EH Western Sahara First Sunday in June, at 0:00 local time Last Sunday in September, at 0:00 local daylight saving time
AUS Adelaide - South Australia
Australia - Australian Captial Territory
Australia - Lord Howe Island
Australia - New South Wales
Australia - South Australia
Australia - Tasmania
Australia - Victoria
First Sunday in October, at 02:00 local time First Sunday in April, at 03:00 local daylight saving time
CL Chile
Chile - Easter Island
Antarctica - O'Higgins Station (Chile)
Antarctica - Palmer Station (USA)
Second Sunday of October - at 04:00 UTC Last Sunday of March - at 04:00 UTC
NZ New Zealand
New Zealand - Chatham Island
Antarctica - Amundsen-Scott (South Pole)
Antarctica - McMurdo Station (USA)
Antarctica - Scott Station (N.Z.)
Last Sunday in September, at 2:00pm UTC First Sunday in April, at 3:00pm UTC
DZ Algeria at last 1980, last Friday in October, at 2:00 local time Last Friday in April, at 0:00 local daylight saving time
BZ Belize at last 1982, third Saturday in December, at 0:00 local time Second Saturday in February, at 0:00 local daylight saving time
TD Chad at last 1979, Second Sunday in October, at 0:00 local time Second Saturday in March, at 0:00 local daylight saving time
CN China at last 1991, Second Sunday in April, at 0:00 local time Second Sunday in September , at 0:00 local daylight saving time
CO Colombia at last 1992, first Sunday in May, at 0:00 local time First Sunday in April, at 0:00 local daylight saving time
CK Cook Islands at last 1990, last Sunday in October, at 0:00 local time First Sunday in March, at 0:00 local daylight saving time
CR Costa Rica at last 1992, third Saturday in January, at 0:00 local time Third Sunday in March, at 0:00 local daylight saving time
SV El Salvador at last 1988, first Sunday in May, at 0:00 local time Last Sunday in September, at 0:00 local daylight saving time
FJ Fiji at last 2000, first Sunday in November, at 2:00 local time Last Sunday in February, at 3:00 local daylight saving time
GE Georgia at last 2004 last Sunday in March 0:00 local time last Sunday in October 03:00 local daylight saving time
GT Guatemala at last 2006, last Sunday in April, at 0:00 local time Last Sunday in September, at 0:00 local daylight saving time
HT Haiti at last 2006, first of April, at 0:00 local time Last Saturday in October, at 0:00 local daylight saving time
HN Honduras at last 2006, first Sunday in May, at 0:00 local time First Sunday in August, at 0:00 local daylight saving time
IQ Iraq at last 2007, 1st of April, at 03:00 local time 1st of October, at 04:00 local daylight saving time
KG Kyrgyzstan at last 2005, last Sunday in March, at 2:30 local time Second Friday in August, at 0:00 local daylight saving time
LY Libya at last 1997, first Friday in April, at 0:00 local time First Saturday in October, at 0:00 local daylight saving time
MN Mongolia at last 2006, last Saturday in March, at 2:00 local time Last Saturday in September, at 2:00 local daylight saving time
NC New Caledonia at last 1996, first Sunday in December, at 2:00 local time First Sunday in March, at 3:00 local daylight saving time
NI Nicaragua at last 2006, last Sunday in April, at 2:00 local time First Sunday in October, at 1:00 local daylight saving time
PE Peru at last 1994, first of January, at 0:00 local time First of April, at 0:00 local daylight saving time
KR South Korea at last 1988, Second Sunday in May, at 0:00 local time Second Sunday in October, at 0:00 local daylight saving time
SD Sudan at last 1985, last Sunday in April, at 0:00 local time Second Tuesday in October, at 0:00 local daylight saving time
TW Taiwan at last 1980, last Monday in June, at 0:00 local time Last Tuesday in September, at 0:00 local daylight saving time
TJ Tajikistan at last 1991, last Sunday in March, at 2:00 local time Second Monday in September, at 3:00 local daylight saving time
TO Tonga at last 2001, first Sunday in November, at 2:00 local time Last Sunday in January, at 2:00 local daylight saving time
TM Turkmenistan at last 1991, last Sunday in March, at 2:00 local time Last Sunday in September, at 3:00 local daylight saving time
UZ Uzbekistan at last 1991, last Sunday in March, at 2:00 local time Last Sunday in September, at 3:00 local daylight saving time
VU Vanuatu at last 1992, last Sunday in October, at 0:00 local time 4th Sunday in January, at 0:00 local daylight saving time

Time Zone Codes

Time Zone Codes Traditional Names Countries
P0000EU GMT,WET Channel Island, Denmark-Faroe Islands, Isle of Man, Portugal, Portugal-Madeira, Spain-Canary Islands, U.K.-England, U.K.-Northern Ireland, U.K.-Scotland, U.K.-Wales
P0100EU CET Albania, Andorra, Austria, Belgium, Bosnia and Herzogowina, Croatia, Czech Republic, Denmark, France, Hungary, Italy, Liechtenstein, Luxembourg, Macedonia, Malta, Monaco, Montenegro, Netherlands, Norway, Poland, Portugal-Azores, San Marino, Serbia, Slovak Republic, Slovenia, Spain, Sweden, Switzerland, U.K.-Gibraltar, Vatican City
P0200EU EET Bulgaria, Cyprus, Estonia, Finland, Greece, Latvia, Lithuania, Moldova, Romania, Turkey, Ukraine
M0300US PMST Saint Pierre and Miquelon
M0400US AST Bermuda
M0500US EST Bahamas, Canada, Turks and Caicos Islands, USA(part)
P0930AUS CST South Australia
P1000AUS EST Australian Capital Territory, Tasmania, Victoria
P1030AUS LHST Lord Howe Island
M0400CL CLT Chile
M0600CL EAST Easter Island
P1200NZ NZST New Zealand, Antarctica-Scott Station
P1245NZ CHAST New Zealand-Chatham Island
P0000MA WT Morocco
P0000EH WT Western Sahara
P0100NA WAT Namibia
P0100TN CET Tunisia
P0200BY EET Belarus
P0200EG EET Egypt
P0200IL_GA EET Gaza_Strip
P0200JO EET Jordan
P0200LB EET Lebanon
P0200PS EET Palestinian Territoris
P0200SY EET Syria
P0300RU MSK Russia
P0330IR IRST Iran
P0400AM AMT Armenia
P0400AZ AZT Azerbaijan
P0400MU MUT Mauritius
P0500PK PKT Pakistan
M0300AR ART Argentina
M0300BR BRT Brazil(part)
M0300GL WGT Greenland
M0300UY UYT Uruguay
M0400FK FKT Falkland Islands
M0400PY PYT Paraguay
M0500CU CST Cuba
M0600MX CST Mexico
P0100DZ CET Algeria
P0100TD WAT Chad
P0200LY EET Libya
P0300IQ AST Iraq
P0300SD EAT Sudan
P0400GE GET Georgia
P0500TJ TJT Tajikistan
P0500TM TMT Turkmenistan
P0500UZ UZT Uzbekistan
P0600KG KGT Kyrgyzstan
P0800CN CST China
P0800MN ULAT Mongolia
P0800TW CST Taiwan
P0900KR KST South Korea
P1100NC NCT New Caledonia
P1100VU VUT Vanuatu
P1200FJ FJT Fiji
P1300TO TOT Tonga
M0500CO COT Colombia
M0500HT EST Haiti
M0500PE PET Peru
M0600BZ CST Belize
M0600CR CST Costa Rica
M0600SV CST El Salvador
M0600GT CST Guatemala
M0600HN CST Honduras
M0600NI CST Nicaragua
M1000CK CKT Cook Islands
P0000 GMT Burkina Faso, Cote d'Ivoire, Ghana, Guinea Bissau, Gineau, Iceland, Liberia, Mali, Mauritania, Saint Helena, Sao Tome e Principe, Senegal, Sierra Leone, Togo
P0100 WAT Angola, Benin, Cameroon, Central African Republic, Republic of Congo, Congo (DRC), Equatorial Guinea, Gabon, Niger, Nigeria
P0200 CAT, SAST Botswana, Burundi, Lesotho, Malawi, Mozambique, Rwanda, South Africa, Swaziland, Zambia, Zimbabwe
P0300 AST, EAT Bahrain, Comoros, Djibouti, Eritrea, Ethiopia, Kenya, Kuwait, Madagascar, Mayotte, Qatar, Saudi Arabia, Somalia, Tanzania, Uganda, Yemen
P0400 GST, RET, SCT Oman, Reunion, Seychelles, United Arab Emirates
P0430 AFT Afghanistan
P0530 IST Sri Lanka
P0545 NPT Nepal
P0600 BDT, BTT, AQTT Bangladesh, Bhutan, Kazakhstan
P0630 MMT Myanmar
P0700 ICT, CXT, WIT Cambodia, Christmas Island, Indonesia West, Laos, Thailand, Vietnam
P0800 BNT, HKT, CIT, MYT, PHT, SGT Brunei, Hong Kong, Indonesia Central, Malaysia, Philippines, Singapore
P0900 TLT, EIT, IST, KST, PWT East Timor, Indonesia East, Japan, North Korea, Palau
P1000 CHST, PGT Guam, Northern Mariana Islands, Papua New Guinea
P1100 PONT, SBT Micronesia, Solomon Islands
P1200 GILT, MHT, NRT, TVT, WFT Kiribati, Marshall Islands, Nauru, Tuvalu, Wallis and Futuma
M0100 CVT Cape Verde
M0300 GFT, SRT French Guinea, Suriname
M0400 AST, BOT Anguilla, Antiqua and Barbuda, Aruba, Barbados, Bolivia, Bonaire, The British Virgin Islands, Curacao, Dominica, The Dominican Republic, Grenada, Guadeloupe, Guyana, Martinique, Montserrat, Netherlands Antilles, Saba, Saint Kitts and Nevis, Saint Vincent and the Grenadines, Saint Lucia, Saint Martin, Sint Maarten, Trinidad and Tobago, US Virgin Islands
M0430 VET Venezuela
M0500 EST, ECT Cayman Islands, Ecuador, Jamaica, Panama
M0900 GAMT French Polynesia
M1100 SST, NUT, WST, TKT American Samoa, Niue Island, Samoa, Tokelau

Information collected from: WorldTimeZone, TimeAndDate, DaylightSavingTimes, TimeGenie, GreenWichMeanTime, TimeTemperature, SAP transaction stzbc<!-- try

Unknown macro: {putResponsible('Gundula Niemann, Markus Eble');}

catch(e) { } -->Responsible: Gundula Niemann, Markus Eble
NW F I18n, Hotline 63930, CSN Component: BC-I18
NW F Printing, CSN Component: BC-CCM-PRN<!-- try

Unknown macro: {putLastChangeWithImage('$DateTime}

catch(e) { } -->
Last modified: 2008/08/27 10:03:59 by d047777
File-Id: //bis/server/abap/docs/I18n/TimeZones/TimeZoneProposal.htm#6