ICU System Time Zones
Background
A time zone represents an offset applied to Greenwich Mean Time
(GMT) to obtain local time. The offset may vary throughout the year,
if daylight savings time (DST) is used, or may be the same all year
long. Typically, regions closer to the equator do not use DST. If DST
is in use, then specific rules define the point at which the offset
changes, and the amount by which it changes. Thus, a time zone is
described by the following information:
- An identifying string, or ID. This consists only of invariant characters (see the file
utypes.h
).
It typically has the format continent / city. The city chosen is
not the only city in which the zone applies, but rather a representative city for the
region. Some IDs consist of three or four uppercase letters; these are legacy zone
names that are aliases to standard zone names.
- An offset from GMT, either positive or negative. Offsets range from approximately minus
half a day to plus half a day.
If DST is observed, then three additional pieces of information are needed:
- The precise date and time during the year when DST begins. This is in the first
half of the year in the northern hemisphere, and in the second half of the year in the
southern hemisphere.
- The precise date and time during the year when DST ends. This is in the first half
of the year in the southern hemisphere, and in the second half of the year in the northern
hemisphere.
- The amount by which the GMT offset changes when DST is in effect. This is almost
always one hour.
System and User Time Zones
ICU supports local time zones through the classes
TimeZone
and SimpleTimeZone
in the C++
API. In the C API, time zones are designated by their ID strings.
Users may construct their own time zone objects by specifying the
above information to the C++ API. However, it is more typical for
users to use a pre-existing system time zone, since these represent
all current international time zones in use. This document lists the
system time zones, both in order of GMT offset, and in alphabetical
order of ID.
Since this list changes one or more times a year, this document
only represents a snapshot. For the current list of ICU system
zones, use the method TimeZone::getAvailableIDs()
.
Notes
The zones are listed in binary sort order. That is, 'A' through
'Z' come before 'a' through 'z'. This is the same order in which the
zones are stored internally, and the same order in which they are
returned by TimeZone::getAvailableIDs()
. The reason for
this is that ICU locates zones using a binary search, and the binary
search relies on this sort order.
You may notice that zones such as Etc/GMT+1
appear to have the wrong sign for their GMT offset. In fact, their
sign is inverted because the the Etc zones follow the POSIX sign
conventions. This is the way the original Olson data is set up, and
ICU reproduces the Olson data faithfully, including this confusing
aspect. See the Olson files for more details.
References
The ICU system time zones are derived from the Olson data at ftp://elsie.nci.nih.gov/pub. This is the data used by UNIX systems and is
updated one or more times each year. Unlike the Olson zone data, ICU
only contains data for current zone usage. There is no support for
historical zone data in ICU at this time.
Time Zones in order of GMT offset
Zone listed in bold are the default zone for a
given GMT offset. This default is used by ICU if it cannot identify
the host OS time zone by name. In that case, it uses the default zone
for the host zone offset.
GMT-12:00 | Etc/GMT+12 |
GMT-11:00 | Etc/GMT+11, MIT, Pacific/Apia, Pacific/Midway, Pacific/Niue, Pacific/Pago_Pago |
GMT-10:00 | America/Adak, Etc/GMT+10, HST, Pacific/Fakaofo, Pacific/Honolulu, Pacific/Johnston, Pacific/Rarotonga, Pacific/Tahiti |
GMT-9:30 | Pacific/Marquesas |
GMT-9:00 | AST, America/Anchorage, America/Juneau, America/Nome, America/Yakutat, Etc/GMT+9, Pacific/Gambier |
GMT-8:00 | America/Dawson, America/Los_Angeles, America/Tijuana, America/Vancouver, America/Whitehorse, Etc/GMT+8, PST, Pacific/Pitcairn |
GMT-7:00 | America/Boise, America/Chihuahua, America/Dawson_Creek, America/Denver, America/Edmonton, America/Inuvik, America/Mazatlan, America/Phoenix, America/Yellowknife, Etc/GMT+7, MST, PNT |
GMT-6:00 | America/Belize, America/Cambridge_Bay, America/Cancun, America/Chicago, America/Costa_Rica, America/El_Salvador, America/Guatemala, America/Iqaluit, America/Managua, America/Menominee, America/Mexico_City, America/Pangnirtung, America/Rainy_River, America/Rankin_Inlet, America/Regina, America/Swift_Current, America/Tegucigalpa, America/Winnipeg, CST, Etc/GMT+6, Pacific/Easter, Pacific/Galapagos |
GMT-5:00 | America/Bogota, America/Cayman, America/Detroit, America/Grand_Turk, America/Guayaquil, America/Havana, America/Indiana/Knox, America/Indiana/Marengo, America/Indiana/Vevay, America/Indianapolis, America/Jamaica, America/Lima, America/Louisville, America/Montreal, America/Nassau, America/New_York, America/Nipigon, America/Panama, America/Port-au-Prince, America/Porto_Acre, America/Thunder_Bay, EST, Etc/GMT+5, IET |
GMT-4:00 | America/Anguilla, America/Antigua, America/Aruba, America/Asuncion, America/Barbados, America/Boa_Vista, America/Caracas, America/Cuiaba, America/Curacao, America/Dominica, America/Glace_Bay, America/Goose_Bay, America/Grenada, America/Guadeloupe, America/Guyana, America/Halifax, America/La_Paz, America/Manaus, America/Martinique, America/Montserrat, America/Port_of_Spain, America/Porto_Velho, America/Puerto_Rico, America/Santiago, America/Santo_Domingo, America/St_Kitts, America/St_Lucia, America/St_Thomas, America/St_Vincent, America/Thule, America/Tortola, Antarctica/Palmer, Atlantic/Bermuda, Atlantic/Stanley, Etc/GMT+4, PRT |
GMT-3:30 | America/St_Johns, CNT |
GMT-3:00 | AGT, America/Araguaina, America/Belem, America/Buenos_Aires, America/Catamarca, America/Cayenne, America/Cordoba, America/Fortaleza, America/Godthab, America/Jujuy, America/Maceio, America/Mendoza, America/Miquelon, America/Montevideo, America/Paramaribo, America/Rosario, America/Sao_Paulo, BET, Etc/GMT+3 |
GMT-2:00 | America/Noronha, Atlantic/South_Georgia, Etc/GMT+2 |
GMT-1:00 | America/Scoresbysund, Atlantic/Azores, Atlantic/Cape_Verde, Atlantic/Jan_Mayen, Etc/GMT+1 |
GMT+0:00 | Africa/Abidjan, Africa/Accra, Africa/Bamako, Africa/Banjul, Africa/Bissau, Africa/Casablanca, Africa/Conakry, Africa/Dakar, Africa/El_Aaiun, Africa/Freetown, Africa/Lome, Africa/Monrovia, Africa/Nouakchott, Africa/Ouagadougou, Africa/Sao_Tome, Africa/Timbuktu, Atlantic/Canary, Atlantic/Faeroe, Atlantic/Madeira, Atlantic/Reykjavik, Atlantic/St_Helena, Etc/GMT, Etc/UCT, Etc/UTC, Europe/Belfast, Europe/Dublin, Europe/Lisbon, Europe/London, GMT, UTC, WET |
GMT+1:00 | Africa/Algiers, Africa/Bangui, Africa/Brazzaville, Africa/Ceuta, Africa/Douala, Africa/Kinshasa, Africa/Lagos, Africa/Libreville, Africa/Luanda, Africa/Malabo, Africa/Ndjamena, Africa/Niamey, Africa/Porto-Novo, Africa/Tunis, Africa/Windhoek, CET, ECT, Etc/GMT-1, Europe/Amsterdam, Europe/Andorra, Europe/Belgrade, Europe/Berlin, Europe/Brussels, Europe/Budapest, Europe/Copenhagen, Europe/Gibraltar, Europe/Luxembourg, Europe/Madrid, Europe/Malta, Europe/Monaco, Europe/Oslo, Europe/Paris, Europe/Prague, Europe/Rome, Europe/Stockholm, Europe/Tirane, Europe/Vaduz, Europe/Vienna, Europe/Warsaw, Europe/Zurich, MET |
GMT+2:00 | ART, Africa/Blantyre, Africa/Bujumbura, Africa/Cairo, Africa/Gaborone, Africa/Harare, Africa/Johannesburg, Africa/Khartoum, Africa/Kigali, Africa/Lubumbashi, Africa/Lusaka, Africa/Maputo, Africa/Maseru, Africa/Mbabane, Africa/Tripoli, Asia/Amman, Asia/Beirut, Asia/Damascus, Asia/Gaza, Asia/Jerusalem, Asia/Nicosia, CAT, EET, Etc/GMT-2, Europe/Athens, Europe/Bucharest, Europe/Chisinau, Europe/Helsinki, Europe/Istanbul, Europe/Kaliningrad, Europe/Kiev, Europe/Minsk, Europe/Riga, Europe/Simferopol, Europe/Sofia, Europe/Tallinn, Europe/Uzhgorod, Europe/Vilnius, Europe/Zaporozhye |
GMT+3:00 | Africa/Addis_Ababa, Africa/Asmera, Africa/Dar_es_Salaam, Africa/Djibouti, Africa/Kampala, Africa/Mogadishu, Africa/Nairobi, Antarctica/Syowa, Asia/Aden, Asia/Baghdad, Asia/Bahrain, Asia/Kuwait, Asia/Qatar, Asia/Riyadh, EAT, Etc/GMT-3, Europe/Moscow, Europe/Tiraspol, Indian/Antananarivo, Indian/Comoro, Indian/Mayotte |
GMT+3:07:04 | Asia/Riyadh87, Asia/Riyadh88, Asia/Riyadh89 |
GMT+3:30 | Asia/Tehran |
GMT+4:00 | Asia/Aqtau, Asia/Baku, Asia/Dubai, Asia/Muscat, Asia/Tbilisi, Asia/Yerevan, Etc/GMT-4, Europe/Samara, Indian/Mahe, Indian/Mauritius, Indian/Reunion, NET |
GMT+4:30 | Asia/Kabul |
GMT+5:00 | Asia/Aqtobe, Asia/Ashkhabad, Asia/Bishkek, Asia/Dushanbe, Asia/Karachi, Asia/Samarkand, Asia/Tashkent, Asia/Yekaterinburg, Etc/GMT-5, Indian/Chagos, Indian/Kerguelen, Indian/Maldives, PLT |
GMT+5:30 | Asia/Calcutta, IST |
GMT+5:45 | Asia/Katmandu |
GMT+6:00 | Antarctica/Mawson, Asia/Almaty, Asia/Colombo, Asia/Dacca, Asia/Novosibirsk, Asia/Omsk, Asia/Thimbu, BST, Etc/GMT-6 |
GMT+6:30 | Asia/Rangoon, Indian/Cocos |
GMT+7:00 | Antarctica/Davis, Asia/Bangkok, Asia/Jakarta, Asia/Krasnoyarsk, Asia/Phnom_Penh, Asia/Saigon, Asia/Vientiane, Etc/GMT-7, Indian/Christmas, VST |
GMT+8:00 | Antarctica/Casey, Asia/Brunei, Asia/Chungking, Asia/Dili, Asia/Harbin, Asia/Hong_Kong, Asia/Irkutsk, Asia/Kashgar, Asia/Kuala_Lumpur, Asia/Kuching, Asia/Macao, Asia/Manila, Asia/Shanghai, Asia/Singapore, Asia/Taipei, Asia/Ujung_Pandang, Asia/Ulan_Bator, Asia/Urumqi, Australia/Perth, CTT, Etc/GMT-8 |
GMT+9:00 | Asia/Jayapura, Asia/Pyongyang, Asia/Seoul, Asia/Tokyo, Asia/Yakutsk, Etc/GMT-9, JST, Pacific/Palau |
GMT+9:30 | ACT, Australia/Adelaide, Australia/Broken_Hill, Australia/Darwin |
GMT+10:00 | AET, Antarctica/DumontDUrville, Asia/Vladivostok, Australia/Brisbane, Australia/Hobart, Australia/Lindeman, Australia/Melbourne, Australia/Sydney, Etc/GMT-10, Pacific/Guam, Pacific/Port_Moresby, Pacific/Saipan, Pacific/Truk, Pacific/Yap |
GMT+10:30 | Australia/Lord_Howe |
GMT+11:00 | Asia/Magadan, Etc/GMT-11, Pacific/Efate, Pacific/Guadalcanal, Pacific/Kosrae, Pacific/Noumea, Pacific/Ponape, SST |
GMT+11:30 | Pacific/Norfolk |
GMT+12:00 | Antarctica/McMurdo, Asia/Anadyr, Asia/Kamchatka, Etc/GMT-12, NST, Pacific/Auckland, Pacific/Fiji, Pacific/Funafuti, Pacific/Kwajalein, Pacific/Majuro, Pacific/Nauru, Pacific/Tarawa, Pacific/Wake, Pacific/Wallis |
GMT+12:45 | Pacific/Chatham |
GMT+13:00 | Etc/GMT-13, Pacific/Enderbury, Pacific/Tongatapu |
GMT+14:00 | Etc/GMT-14, Pacific/Kiritimati |
Time Zones in order of ID
Zone listed in bold are the default zone for their
GMT offset. This default is used by ICU if it cannot identify the host
OS time zone by name. In that case, it uses the default zone for the
host zone offset. See above for a description of columns. See note above for an explanation of the
sort order.
Times suffixed with 's' are in standard time. Times suffixed with 'u' are in UTC time.
Times without suffixes are in wall time (that is, either standard time or daylight savings
time, depending on which is in effect).