Skip to content

Instantly share code, notes, and snippets.

@dmarcelino
Last active February 10, 2017 17:49
Show Gist options
  • Save dmarcelino/b690539efc71791d02ebd9591b3a9691 to your computer and use it in GitHub Desktop.
Save dmarcelino/b690539efc71791d02ebd9591b3a9691 to your computer and use it in GitHub Desktop.
Python script to generate compact list of timezones (HTML and json)
<select>
<option utc_offset="-11:00" dst="0" value="Etc/GMT+11">UTC-11:00 Pago Pago, Niue</option>
<option utc_offset="-10:00" dst="0" value="Etc/GMT+10">UTC-10:00 HST, Rarotonga, Tahiti, Honolulu</option>
<option utc_offset="-10:00" dst="1" value="America/Adak">UTC-10:00 Adak</option>
<option utc_offset="-09:30" dst="0" value="Pacific/Marquesas">UTC-09:30 Marquesas</option>
<option utc_offset="-09:00" dst="1" value="America/Anchorage">UTC-09:00 Anchorage, Juneau, Metlakatla, Nome, Sitka, Yakutat</option>
<option utc_offset="-09:00" dst="0" value="Etc/GMT+9">UTC-09:00 Gambier</option>
<option utc_offset="-08:00" dst="0" value="Etc/GMT+8">UTC-08:00 Pitcairn</option>
<option utc_offset="-08:00" dst="1" value="PST8PDT">UTC-08:00 PST8PDT, Dawson, Vancouver, Whitehorse, Tijuana, Los Angeles</option>
<option utc_offset="-07:00" dst="1" value="MST7MDT">UTC-07:00 MST7MDT, Cambridge Bay, Edmonton, Inuvik, Yellowknife, Chihuahua, Mazatlan, Ojinaga, Boise, Denver</option>
<option utc_offset="-07:00" dst="0" value="Etc/GMT+7">UTC-07:00 MST, Creston, Dawson Creek, Fort Nelson, Hermosillo, Phoenix</option>
<option utc_offset="-06:00" dst="0" value="Etc/GMT+6">UTC-06:00 Belize, Regina, Swift Current, Costa Rica, Galapagos, Guatemala, Tegucigalpa, Managua, El Salvador</option>
<option utc_offset="-06:00" dst="1" value="CST6CDT">UTC-06:00 CST6CDT, Rainy River, Rankin Inlet, Resolute, Winnipeg, Easter, Bahia Banderas, Matamoros, Merida, Mexico City, Monterrey, Chicago, Knox, Tell City, Menominee, Beulah, Center, New Salem</option>
<option utc_offset="-05:00" dst="1" value="EST5EDT">UTC-05:00 EST5EDT, Nassau, Iqaluit, Nipigon, Pangnirtung, Thunder Bay, Toronto, Havana, Detroit, Indianapolis, Marengo, Petersburg, Vevay, Vincennes, Winamac, Louisville, Monticello, New York</option>
<option utc_offset="-05:00" dst="0" value="Etc/GMT+5">UTC-05:00 EST, Eirunepe, Rio Branco, Atikokan, Bogota, Guayaquil, Port-au-Prince, Jamaica, Cancun, Panama, Lima</option>
<option utc_offset="-04:00" dst="0" value="Etc/GMT+4">UTC-04:00 Barbados, La Paz, Boa Vista, Manaus, Porto Velho, Blanc-Sablon, Curacao, Santo Domingo, Guyana, Martinique, Puerto Rico, Grand Turk, Port of Spain, Caracas</option>
<option utc_offset="-04:00" dst="1" value="America/Campo_Grande">UTC-04:00 Palmer, Bermuda, Campo Grande, Cuiaba, Glace Bay, Goose Bay, Halifax, Moncton, Santiago, Thule, Asuncion</option>
<option utc_offset="-03:30" dst="1" value="America/St_Johns">UTC-03:30 St Johns</option>
<option utc_offset="-03:00" dst="1" value="America/Sao_Paulo">UTC-03:00 Sao Paulo, Godthab, Miquelon</option>
<option utc_offset="-03:00" dst="0" value="Etc/GMT+3">UTC-03:00 Rothera, Buenos Aires, Catamarca, Cordoba, Jujuy, La Rioja, Mendoza, Rio Gallegos, Salta, San Juan, San Luis, Tucuman, Ushuaia, Araguaina, Bahia, Belem, Fortaleza, Maceio, Recife, Santarem, Stanley, Cayenne, Paramaribo, Montevideo</option>
<option utc_offset="-02:00" dst="0" value="Etc/GMT+2">UTC-02:00 Noronha, South Georgia</option>
<option utc_offset="-01:00" dst="1" value="America/Scoresbysund">UTC-01:00 Scoresbysund, Azores</option>
<option utc_offset="-01:00" dst="0" value="Etc/GMT+1">UTC-01:00 Cape Verde</option>
<option utc_offset="+00:00" dst="0" value="Etc/GMT">UTC+00:00 Abidjan, Accra, Danmarkshavn, Bissau, Reykjavik, Monrovia</option>
<option utc_offset="+00:00" dst="1" value="Antarctica/Troll">UTC+00:00 Troll</option>
<option utc_offset="+00:00" dst="1" value="WET">UTC+00:00 WET, El Aaiun, Canary, Faroe, London, Dublin, Casablanca, Madeira, Lisbon</option>
<option utc_offset="+01:00" dst="1" value="CET">UTC+01:00 CET, MET, Andorra, Tirane, Vienna, Brussels, Zurich, Prague, Berlin, Copenhagen, Ceuta, Madrid, Paris, Gibraltar, Budapest, Rome, Luxembourg, Monaco, Malta, Windhoek, Amsterdam, Oslo, Warsaw, Belgrade, Stockholm</option>
<option utc_offset="+01:00" dst="0" value="Etc/GMT-1">UTC+01:00 Algiers, Lagos, Ndjamena, Tunis</option>
<option utc_offset="+02:00" dst="0" value="Etc/GMT-2">UTC+02:00 Cairo, Tripoli, Maputo, Kaliningrad, Johannesburg</option>
<option utc_offset="+02:00" dst="1" value="EET">UTC+02:00 EET, Sofia, Nicosia, Tallinn, Helsinki, Athens, Jerusalem, Amman, Beirut, Vilnius, Riga, Chisinau, Gaza, Hebron, Bucharest, Damascus, Kiev, Uzhgorod, Zaporozhye</option>
<option utc_offset="+03:00" dst="0" value="Etc/GMT-3">UTC+03:00 Syowa, Minsk, Famagusta, Baghdad, Nairobi, Qatar, Kirov, Moscow, Simferopol, Volgograd, Riyadh, Khartoum, Istanbul</option>
<option utc_offset="+03:30" dst="1" value="Asia/Tehran">UTC+03:30 Tehran</option>
<option utc_offset="+04:00" dst="0" value="Etc/GMT-4">UTC+04:00 Dubai, Yerevan, Baku, Tbilisi, Mauritius, Reunion, Astrakhan, Samara, Saratov, Ulyanovsk, Mahe</option>
<option utc_offset="+04:30" dst="0" value="Asia/Kabul">UTC+04:30 Kabul</option>
<option utc_offset="+05:00" dst="0" value="Etc/GMT-5">UTC+05:00 Mawson, Aqtau, Aqtobe, Atyrau, Oral, Maldives, Karachi, Yekaterinburg, Kerguelen, Dushanbe, Ashgabat, Samarkand, Tashkent</option>
<option utc_offset="+05:30" dst="0" value="Asia/Kolkata">UTC+05:30 Kolkata, Colombo</option>
<option utc_offset="+05:45" dst="0" value="Asia/Kathmandu">UTC+05:45 Kathmandu</option>
<option utc_offset="+06:00" dst="0" value="Etc/GMT-6">UTC+06:00 Vostok, Dhaka, Thimphu, Urumqi, Chagos, Bishkek, Almaty, Qyzylorda, Omsk</option>
<option utc_offset="+06:30" dst="0" value="Asia/Yangon">UTC+06:30 Cocos, Yangon</option>
<option utc_offset="+07:00" dst="1" value="Asia/Hovd">UTC+07:00 Hovd</option>
<option utc_offset="+07:00" dst="0" value="Etc/GMT-7">UTC+07:00 Davis, Christmas, Jakarta, Pontianak, Barnaul, Krasnoyarsk, Novokuznetsk, Novosibirsk, Tomsk, Bangkok, Ho Chi Minh</option>
<option utc_offset="+08:00" dst="0" value="Etc/GMT-8">UTC+08:00 Perth, Brunei, Shanghai, Hong Kong, Makassar, Macau, Kuala Lumpur, Kuching, Manila, Irkutsk, Singapore, Taipei</option>
<option utc_offset="+08:00" dst="1" value="Asia/Choibalsan">UTC+08:00 Choibalsan, Ulaanbaatar</option>
<option utc_offset="+08:30" dst="0" value="Asia/Pyongyang">UTC+08:30 Pyongyang</option>
<option utc_offset="+08:45" dst="0" value="Australia/Eucla">UTC+08:45 Eucla</option>
<option utc_offset="+09:00" dst="0" value="Etc/GMT-9">UTC+09:00 Jayapura, Tokyo, Seoul, Palau, Chita, Khandyga, Yakutsk, Dili</option>
<option utc_offset="+09:30" dst="0" value="Australia/Darwin">UTC+09:30 Darwin</option>
<option utc_offset="+09:30" dst="1" value="Australia/Adelaide">UTC+09:30 Adelaide, Broken Hill</option>
<option utc_offset="+10:00" dst="0" value="Etc/GMT-10">UTC+10:00 DumontDUrville, Brisbane, Lindeman, Chuuk, Guam, Port Moresby, Ust-Nera, Vladivostok</option>
<option utc_offset="+10:00" dst="1" value="Australia/Currie">UTC+10:00 Currie, Hobart, Melbourne, Sydney</option>
<option utc_offset="+10:30" dst="1" value="Australia/Lord_Howe">UTC+10:30 Lord Howe</option>
<option utc_offset="+11:00" dst="0" value="Etc/GMT-11">UTC+11:00 Casey, Macquarie, Kosrae, Pohnpei, Noumea, Norfolk, Bougainville, Magadan, Sakhalin, Srednekolymsk, Guadalcanal, Efate</option>
<option utc_offset="+12:00" dst="0" value="Etc/GMT-12">UTC+12:00 Tarawa, Kwajalein, Majuro, Nauru, Anadyr, Kamchatka, Funafuti, Wake, Wallis</option>
<option utc_offset="+12:00" dst="1" value="Pacific/Fiji">UTC+12:00 Fiji, Auckland</option>
<option utc_offset="+12:45" dst="1" value="Pacific/Chatham">UTC+12:45 Chatham</option>
<option utc_offset="+13:00" dst="1" value="Pacific/Tongatapu">UTC+13:00 Tongatapu, Apia</option>
<option utc_offset="+13:00" dst="0" value="Etc/GMT-13">UTC+13:00 Enderbury, Fakaofo</option>
<option utc_offset="+14:00" dst="0" value="Etc/GMT-14">UTC+14:00 Kiritimati</option>
</select>
[
{
"utc_offset": "-12:00",
"timezones_countries": [],
"dst": false,
"sort_key": -1200,
"utc_dst_offset": "-12:00",
"timezone_display_string": "UTC-12:00 ",
"representative_timezone": "Etc/GMT+12",
"timezones_names": [
"Etc/GMT+12"
],
"main_timezones_names": []
},
{
"utc_offset": "-11:00",
"timezones_countries": [
"AS",
"NU",
"UM"
],
"dst": false,
"sort_key": -1100,
"utc_dst_offset": "-11:00",
"timezone_display_string": "UTC-11:00 Pago Pago, Niue",
"representative_timezone": "Etc/GMT+11",
"timezones_names": [
"Etc/GMT+11",
"Pacific/Samoa",
"US/Samoa",
"Pacific/Pago_Pago",
"Pacific/Niue",
"Pacific/Midway"
],
"main_timezones_names": [
"Pago Pago",
"Niue"
]
},
{
"utc_offset": "-10:00",
"timezones_countries": [
"CK",
"PF",
"UM",
"US"
],
"dst": false,
"sort_key": -1000,
"utc_dst_offset": "-10:00",
"timezone_display_string": "UTC-10:00 HST, Rarotonga, Tahiti, Honolulu",
"representative_timezone": "Etc/GMT+10",
"timezones_names": [
"Etc/GMT+10",
"HST",
"US/Hawaii",
"Pacific/Rarotonga",
"Pacific/Tahiti",
"Pacific/Johnston",
"Pacific/Honolulu"
],
"main_timezones_names": [
"HST",
"Rarotonga",
"Tahiti",
"Honolulu"
]
},
{
"utc_offset": "-10:00",
"timezones_countries": [
"US"
],
"dst": true,
"sort_key": -1000,
"utc_dst_offset": "-09:00",
"timezone_display_string": "UTC-10:00 Adak",
"representative_timezone": "America/Adak",
"timezones_names": [
"America/Atka",
"US/Aleutian",
"America/Adak"
],
"main_timezones_names": [
"Adak"
]
},
{
"utc_offset": "-09:30",
"timezones_countries": [
"PF"
],
"dst": false,
"sort_key": -930,
"utc_dst_offset": "-09:30",
"timezone_display_string": "UTC-09:30 Marquesas",
"representative_timezone": "Pacific/Marquesas",
"timezones_names": [
"Pacific/Marquesas"
],
"main_timezones_names": [
"Marquesas"
]
},
{
"utc_offset": "-09:00",
"timezones_countries": [
"US"
],
"dst": true,
"sort_key": -900,
"utc_dst_offset": "-08:00",
"timezone_display_string": "UTC-09:00 Anchorage, Juneau, Metlakatla, Nome, Sitka, Yakutat",
"representative_timezone": "America/Anchorage",
"timezones_names": [
"US/Alaska",
"America/Anchorage",
"America/Juneau",
"America/Metlakatla",
"America/Nome",
"America/Sitka",
"America/Yakutat"
],
"main_timezones_names": [
"Anchorage",
"Juneau",
"Metlakatla",
"Nome",
"Sitka",
"Yakutat"
]
},
{
"utc_offset": "-09:00",
"timezones_countries": [
"PF"
],
"dst": false,
"sort_key": -900,
"utc_dst_offset": "-09:00",
"timezone_display_string": "UTC-09:00 Gambier",
"representative_timezone": "Etc/GMT+9",
"timezones_names": [
"Etc/GMT+9",
"Pacific/Gambier"
],
"main_timezones_names": [
"Gambier"
]
},
{
"utc_offset": "-08:00",
"timezones_countries": [
"PN"
],
"dst": false,
"sort_key": -800,
"utc_dst_offset": "-08:00",
"timezone_display_string": "UTC-08:00 Pitcairn",
"representative_timezone": "Etc/GMT+8",
"timezones_names": [
"Etc/GMT+8",
"Pacific/Pitcairn"
],
"main_timezones_names": [
"Pitcairn"
]
},
{
"utc_offset": "-08:00",
"timezones_countries": [
"CA",
"MX",
"US"
],
"dst": true,
"sort_key": -800,
"utc_dst_offset": "-07:00",
"timezone_display_string": "UTC-08:00 PST8PDT, Dawson, Vancouver, Whitehorse, Tijuana, Los Angeles",
"representative_timezone": "PST8PDT",
"timezones_names": [
"America/Ensenada",
"America/Santa_Isabel",
"Canada/Pacific",
"Canada/Yukon",
"Mexico/BajaNorte",
"PST8PDT",
"US/Pacific",
"US/Pacific-New",
"America/Dawson",
"America/Vancouver",
"America/Whitehorse",
"America/Tijuana",
"America/Los_Angeles"
],
"main_timezones_names": [
"PST8PDT",
"Dawson",
"Vancouver",
"Whitehorse",
"Tijuana",
"Los Angeles"
]
},
{
"utc_offset": "-07:00",
"timezones_countries": [
"CA",
"MX",
"US"
],
"dst": true,
"sort_key": -700,
"utc_dst_offset": "-06:00",
"timezone_display_string": "UTC-07:00 MST7MDT, Cambridge Bay, Edmonton, Inuvik, Yellowknife, Chihuahua, Mazatlan, Ojinaga, Boise, Denver",
"representative_timezone": "MST7MDT",
"timezones_names": [
"America/Shiprock",
"Canada/Mountain",
"Mexico/BajaSur",
"MST7MDT",
"Navajo",
"US/Mountain",
"America/Cambridge_Bay",
"America/Edmonton",
"America/Inuvik",
"America/Yellowknife",
"America/Chihuahua",
"America/Mazatlan",
"America/Ojinaga",
"America/Boise",
"America/Denver"
],
"main_timezones_names": [
"MST7MDT",
"Cambridge Bay",
"Edmonton",
"Inuvik",
"Yellowknife",
"Chihuahua",
"Mazatlan",
"Ojinaga",
"Boise",
"Denver"
]
},
{
"utc_offset": "-07:00",
"timezones_countries": [
"CA",
"MX",
"US"
],
"dst": false,
"sort_key": -700,
"utc_dst_offset": "-07:00",
"timezone_display_string": "UTC-07:00 MST, Creston, Dawson Creek, Fort Nelson, Hermosillo, Phoenix",
"representative_timezone": "Etc/GMT+7",
"timezones_names": [
"Etc/GMT+7",
"MST",
"US/Arizona",
"America/Creston",
"America/Dawson_Creek",
"America/Fort_Nelson",
"America/Hermosillo",
"America/Phoenix"
],
"main_timezones_names": [
"MST",
"Creston",
"Dawson Creek",
"Fort Nelson",
"Hermosillo",
"Phoenix"
]
},
{
"utc_offset": "-06:00",
"timezones_countries": [
"BZ",
"CA",
"CR",
"EC",
"GT",
"HN",
"NI",
"SV"
],
"dst": false,
"sort_key": -600,
"utc_dst_offset": "-06:00",
"timezone_display_string": "UTC-06:00 Belize, Regina, Swift Current, Costa Rica, Galapagos, Guatemala, Tegucigalpa, Managua, El Salvador",
"representative_timezone": "Etc/GMT+6",
"timezones_names": [
"Canada/East-Saskatchewan",
"Canada/Saskatchewan",
"Etc/GMT+6",
"America/Belize",
"America/Regina",
"America/Swift_Current",
"America/Costa_Rica",
"Pacific/Galapagos",
"America/Guatemala",
"America/Tegucigalpa",
"America/Managua",
"America/El_Salvador"
],
"main_timezones_names": [
"Belize",
"Regina",
"Swift Current",
"Costa Rica",
"Galapagos",
"Guatemala",
"Tegucigalpa",
"Managua",
"El Salvador"
]
},
{
"utc_offset": "-06:00",
"timezones_countries": [
"CA",
"CL",
"MX",
"US"
],
"dst": true,
"sort_key": -600,
"utc_dst_offset": "-05:00",
"timezone_display_string": "UTC-06:00 CST6CDT, Rainy River, Rankin Inlet, Resolute, Winnipeg, Easter, Bahia Banderas, Matamoros, Merida, Mexico City, Monterrey, Chicago, Knox, Tell City, Menominee, Beulah, Center, New Salem",
"representative_timezone": "CST6CDT",
"timezones_names": [
"America/Knox_IN",
"Canada/Central",
"Chile/EasterIsland",
"CST6CDT",
"Mexico/General",
"US/Central",
"US/Indiana-Starke",
"America/Rainy_River",
"America/Rankin_Inlet",
"America/Resolute",
"America/Winnipeg",
"Pacific/Easter",
"America/Bahia_Banderas",
"America/Matamoros",
"America/Merida",
"America/Mexico_City",
"America/Monterrey",
"America/Chicago",
"America/Indiana/Knox",
"America/Indiana/Tell_City",
"America/Menominee",
"America/North_Dakota/Beulah",
"America/North_Dakota/Center",
"America/North_Dakota/New_Salem"
],
"main_timezones_names": [
"CST6CDT",
"Rainy River",
"Rankin Inlet",
"Resolute",
"Winnipeg",
"Easter",
"Bahia Banderas",
"Matamoros",
"Merida",
"Mexico City",
"Monterrey",
"Chicago",
"Knox",
"Tell City",
"Menominee",
"Beulah",
"Center",
"New Salem"
]
},
{
"utc_offset": "-05:00",
"timezones_countries": [
"BS",
"CA",
"CU",
"US"
],
"dst": true,
"sort_key": -500,
"utc_dst_offset": "-04:00",
"timezone_display_string": "UTC-05:00 EST5EDT, Nassau, Iqaluit, Nipigon, Pangnirtung, Thunder Bay, Toronto, Havana, Detroit, Indianapolis, Marengo, Petersburg, Vevay, Vincennes, Winamac, Louisville, Monticello, New York",
"representative_timezone": "EST5EDT",
"timezones_names": [
"America/Fort_Wayne",
"America/Indianapolis",
"America/Louisville",
"America/Montreal",
"Canada/Eastern",
"Cuba",
"EST5EDT",
"US/Eastern",
"US/East-Indiana",
"US/Michigan",
"America/Nassau",
"America/Iqaluit",
"America/Nipigon",
"America/Pangnirtung",
"America/Thunder_Bay",
"America/Toronto",
"America/Havana",
"America/Detroit",
"America/Indiana/Indianapolis",
"America/Indiana/Marengo",
"America/Indiana/Petersburg",
"America/Indiana/Vevay",
"America/Indiana/Vincennes",
"America/Indiana/Winamac",
"America/Kentucky/Louisville",
"America/Kentucky/Monticello",
"America/New_York"
],
"main_timezones_names": [
"EST5EDT",
"Nassau",
"Iqaluit",
"Nipigon",
"Pangnirtung",
"Thunder Bay",
"Toronto",
"Havana",
"Detroit",
"Indianapolis",
"Marengo",
"Petersburg",
"Vevay",
"Vincennes",
"Winamac",
"Louisville",
"Monticello",
"New York"
]
},
{
"utc_offset": "-05:00",
"timezones_countries": [
"BR",
"CA",
"CO",
"EC",
"HT",
"JM",
"KY",
"MX",
"PA",
"PE"
],
"dst": false,
"sort_key": -500,
"utc_dst_offset": "-05:00",
"timezone_display_string": "UTC-05:00 EST, Eirunepe, Rio Branco, Atikokan, Bogota, Guayaquil, Port-au-Prince, Jamaica, Cancun, Panama, Lima",
"representative_timezone": "Etc/GMT+5",
"timezones_names": [
"America/Coral_Harbour",
"America/Porto_Acre",
"Brazil/Acre",
"EST",
"Etc/GMT+5",
"Jamaica",
"America/Eirunepe",
"America/Rio_Branco",
"America/Atikokan",
"America/Bogota",
"America/Guayaquil",
"America/Port-au-Prince",
"America/Jamaica",
"America/Cayman",
"America/Cancun",
"America/Panama",
"America/Lima"
],
"main_timezones_names": [
"EST",
"Eirunepe",
"Rio Branco",
"Atikokan",
"Bogota",
"Guayaquil",
"Port-au-Prince",
"Jamaica",
"Cancun",
"Panama",
"Lima"
]
},
{
"utc_offset": "-04:00",
"timezones_countries": [
"AG",
"AI",
"AW",
"BB",
"BL",
"BO",
"BQ",
"BR",
"CA",
"CW",
"DM",
"DO",
"GD",
"GP",
"GY",
"KN",
"LC",
"MF",
"MQ",
"MS",
"PR",
"SX",
"TC",
"TT",
"VC",
"VE",
"VG",
"VI"
],
"dst": false,
"sort_key": -400,
"utc_dst_offset": "-04:00",
"timezone_display_string": "UTC-04:00 Barbados, La Paz, Boa Vista, Manaus, Porto Velho, Blanc-Sablon, Curacao, Santo Domingo, Guyana, Martinique, Puerto Rico, Grand Turk, Port of Spain, Caracas",
"representative_timezone": "Etc/GMT+4",
"timezones_names": [
"America/Virgin",
"Brazil/West",
"Etc/GMT+4",
"America/Antigua",
"America/Anguilla",
"America/Aruba",
"America/Barbados",
"America/St_Barthelemy",
"America/La_Paz",
"America/Kralendijk",
"America/Boa_Vista",
"America/Manaus",
"America/Porto_Velho",
"America/Blanc-Sablon",
"America/Curacao",
"America/Dominica",
"America/Santo_Domingo",
"America/Grenada",
"America/Guadeloupe",
"America/Guyana",
"America/St_Kitts",
"America/St_Lucia",
"America/Marigot",
"America/Martinique",
"America/Montserrat",
"America/Puerto_Rico",
"America/Lower_Princes",
"America/Grand_Turk",
"America/Port_of_Spain",
"America/St_Vincent",
"America/Caracas",
"America/Tortola",
"America/St_Thomas"
],
"main_timezones_names": [
"Barbados",
"La Paz",
"Boa Vista",
"Manaus",
"Porto Velho",
"Blanc-Sablon",
"Curacao",
"Santo Domingo",
"Guyana",
"Martinique",
"Puerto Rico",
"Grand Turk",
"Port of Spain",
"Caracas"
]
},
{
"utc_offset": "-04:00",
"timezones_countries": [
"AQ",
"BM",
"BR",
"CA",
"CL",
"GL",
"PY"
],
"dst": true,
"sort_key": -400,
"utc_dst_offset": "-03:00",
"timezone_display_string": "UTC-04:00 Palmer, Bermuda, Campo Grande, Cuiaba, Glace Bay, Goose Bay, Halifax, Moncton, Santiago, Thule, Asuncion",
"representative_timezone": "America/Campo_Grande",
"timezones_names": [
"Canada/Atlantic",
"Chile/Continental",
"Antarctica/Palmer",
"Atlantic/Bermuda",
"America/Campo_Grande",
"America/Cuiaba",
"America/Glace_Bay",
"America/Goose_Bay",
"America/Halifax",
"America/Moncton",
"America/Santiago",
"America/Thule",
"America/Asuncion"
],
"main_timezones_names": [
"Palmer",
"Bermuda",
"Campo Grande",
"Cuiaba",
"Glace Bay",
"Goose Bay",
"Halifax",
"Moncton",
"Santiago",
"Thule",
"Asuncion"
]
},
{
"utc_offset": "-03:30",
"timezones_countries": [
"CA"
],
"dst": true,
"sort_key": -330,
"utc_dst_offset": "-02:30",
"timezone_display_string": "UTC-03:30 St Johns",
"representative_timezone": "America/St_Johns",
"timezones_names": [
"Canada/Newfoundland",
"America/St_Johns"
],
"main_timezones_names": [
"St Johns"
]
},
{
"utc_offset": "-03:00",
"timezones_countries": [
"BR",
"GL",
"PM"
],
"dst": true,
"sort_key": -300,
"utc_dst_offset": "-02:00",
"timezone_display_string": "UTC-03:00 Sao Paulo, Godthab, Miquelon",
"representative_timezone": "America/Sao_Paulo",
"timezones_names": [
"Brazil/East",
"America/Sao_Paulo",
"America/Godthab",
"America/Miquelon"
],
"main_timezones_names": [
"Sao Paulo",
"Godthab",
"Miquelon"
]
},
{
"utc_offset": "-03:00",
"timezones_countries": [
"AQ",
"AR",
"BR",
"FK",
"GF",
"SR",
"UY"
],
"dst": false,
"sort_key": -300,
"utc_dst_offset": "-03:00",
"timezone_display_string": "UTC-03:00 Rothera, Buenos Aires, Catamarca, Cordoba, Jujuy, La Rioja, Mendoza, Rio Gallegos, Salta, San Juan, San Luis, Tucuman, Ushuaia, Araguaina, Bahia, Belem, Fortaleza, Maceio, Recife, Santarem, Stanley, Cayenne, Paramaribo, Montevideo",
"representative_timezone": "Etc/GMT+3",
"timezones_names": [
"America/Argentina/ComodRivadavia",
"America/Buenos_Aires",
"America/Catamarca",
"America/Cordoba",
"America/Jujuy",
"America/Mendoza",
"America/Rosario",
"Etc/GMT+3",
"Antarctica/Rothera",
"America/Argentina/Buenos_Aires",
"America/Argentina/Catamarca",
"America/Argentina/Cordoba",
"America/Argentina/Jujuy",
"America/Argentina/La_Rioja",
"America/Argentina/Mendoza",
"America/Argentina/Rio_Gallegos",
"America/Argentina/Salta",
"America/Argentina/San_Juan",
"America/Argentina/San_Luis",
"America/Argentina/Tucuman",
"America/Argentina/Ushuaia",
"America/Araguaina",
"America/Bahia",
"America/Belem",
"America/Fortaleza",
"America/Maceio",
"America/Recife",
"America/Santarem",
"Atlantic/Stanley",
"America/Cayenne",
"America/Paramaribo",
"America/Montevideo"
],
"main_timezones_names": [
"Rothera",
"Buenos Aires",
"Catamarca",
"Cordoba",
"Jujuy",
"La Rioja",
"Mendoza",
"Rio Gallegos",
"Salta",
"San Juan",
"San Luis",
"Tucuman",
"Ushuaia",
"Araguaina",
"Bahia",
"Belem",
"Fortaleza",
"Maceio",
"Recife",
"Santarem",
"Stanley",
"Cayenne",
"Paramaribo",
"Montevideo"
]
},
{
"utc_offset": "-02:00",
"timezones_countries": [
"BR",
"GS"
],
"dst": false,
"sort_key": -200,
"utc_dst_offset": "-02:00",
"timezone_display_string": "UTC-02:00 Noronha, South Georgia",
"representative_timezone": "Etc/GMT+2",
"timezones_names": [
"Brazil/DeNoronha",
"Etc/GMT+2",
"America/Noronha",
"Atlantic/South_Georgia"
],
"main_timezones_names": [
"Noronha",
"South Georgia"
]
},
{
"utc_offset": "-01:00",
"timezones_countries": [
"GL",
"PT"
],
"dst": true,
"sort_key": -100,
"utc_dst_offset": "+00:00",
"timezone_display_string": "UTC-01:00 Scoresbysund, Azores",
"representative_timezone": "America/Scoresbysund",
"timezones_names": [
"America/Scoresbysund",
"Atlantic/Azores"
],
"main_timezones_names": [
"Scoresbysund",
"Azores"
]
},
{
"utc_offset": "-01:00",
"timezones_countries": [
"CV"
],
"dst": false,
"sort_key": -100,
"utc_dst_offset": "-01:00",
"timezone_display_string": "UTC-01:00 Cape Verde",
"representative_timezone": "Etc/GMT+1",
"timezones_names": [
"Etc/GMT+1",
"Atlantic/Cape_Verde"
],
"main_timezones_names": [
"Cape Verde"
]
},
{
"utc_offset": "+00:00",
"timezones_countries": [
"BF",
"CI",
"GH",
"GL",
"GM",
"GN",
"GW",
"IS",
"LR",
"ML",
"MR",
"SH",
"SL",
"SN",
"ST",
"TG"
],
"dst": false,
"sort_key": 0,
"utc_dst_offset": "+00:00",
"timezone_display_string": "UTC+00:00 Abidjan, Accra, Danmarkshavn, Bissau, Reykjavik, Monrovia",
"representative_timezone": "Etc/GMT",
"timezones_names": [
"Africa/Timbuktu",
"Etc/GMT",
"Etc/GMT+0",
"Etc/GMT0",
"Etc/GMT-0",
"Etc/Greenwich",
"Etc/UCT",
"Etc/Universal",
"Etc/UTC",
"Etc/Zulu",
"GMT",
"GMT+0",
"GMT0",
"GMT-0",
"Greenwich",
"Iceland",
"UCT",
"Universal",
"UTC",
"Zulu",
"Africa/Ouagadougou",
"Africa/Abidjan",
"Africa/Accra",
"America/Danmarkshavn",
"Africa/Banjul",
"Africa/Conakry",
"Africa/Bissau",
"Atlantic/Reykjavik",
"Africa/Monrovia",
"Africa/Bamako",
"Africa/Nouakchott",
"Atlantic/St_Helena",
"Africa/Freetown",
"Africa/Dakar",
"Africa/Sao_Tome",
"Africa/Lome"
],
"main_timezones_names": [
"Abidjan",
"Accra",
"Danmarkshavn",
"Bissau",
"Reykjavik",
"Monrovia"
]
},
{
"utc_offset": "+00:00",
"timezones_countries": [
"AQ"
],
"dst": true,
"sort_key": 0,
"utc_dst_offset": "+02:00",
"timezone_display_string": "UTC+00:00 Troll",
"representative_timezone": "Antarctica/Troll",
"timezones_names": [
"Antarctica/Troll"
],
"main_timezones_names": [
"Troll"
]
},
{
"utc_offset": "+00:00",
"timezones_countries": [
"EH",
"ES",
"FO",
"GB",
"GG",
"IE",
"IM",
"JE",
"MA",
"PT"
],
"dst": true,
"sort_key": 0,
"utc_dst_offset": "+01:00",
"timezone_display_string": "UTC+00:00 WET, El Aaiun, Canary, Faroe, London, Dublin, Casablanca, Madeira, Lisbon",
"representative_timezone": "WET",
"timezones_names": [
"Atlantic/Faeroe",
"Eire",
"Europe/Belfast",
"GB",
"GB-Eire",
"Portugal",
"WET",
"Africa/El_Aaiun",
"Atlantic/Canary",
"Atlantic/Faroe",
"Europe/London",
"Europe/Guernsey",
"Europe/Dublin",
"Europe/Isle_of_Man",
"Europe/Jersey",
"Africa/Casablanca",
"Atlantic/Madeira",
"Europe/Lisbon"
],
"main_timezones_names": [
"WET",
"El Aaiun",
"Canary",
"Faroe",
"London",
"Dublin",
"Casablanca",
"Madeira",
"Lisbon"
]
},
{
"utc_offset": "+01:00",
"timezones_countries": [
"AD",
"AL",
"AT",
"BA",
"BE",
"CH",
"CZ",
"DE",
"DK",
"ES",
"FR",
"GI",
"HR",
"HU",
"IT",
"LI",
"LU",
"MC",
"ME",
"MK",
"MT",
"NA",
"NL",
"NO",
"PL",
"RS",
"SE",
"SI",
"SJ",
"SK",
"SM",
"VA"
],
"dst": true,
"sort_key": 100,
"utc_dst_offset": "+02:00",
"timezone_display_string": "UTC+01:00 CET, MET, Andorra, Tirane, Vienna, Brussels, Zurich, Prague, Berlin, Copenhagen, Ceuta, Madrid, Paris, Gibraltar, Budapest, Rome, Luxembourg, Monaco, Malta, Windhoek, Amsterdam, Oslo, Warsaw, Belgrade, Stockholm",
"representative_timezone": "CET",
"timezones_names": [
"Atlantic/Jan_Mayen",
"CET",
"MET",
"Poland",
"Europe/Andorra",
"Europe/Tirane",
"Europe/Vienna",
"Europe/Sarajevo",
"Europe/Brussels",
"Europe/Zurich",
"Europe/Prague",
"Europe/Berlin",
"Europe/Busingen",
"Europe/Copenhagen",
"Africa/Ceuta",
"Europe/Madrid",
"Europe/Paris",
"Europe/Gibraltar",
"Europe/Zagreb",
"Europe/Budapest",
"Europe/Rome",
"Europe/Vaduz",
"Europe/Luxembourg",
"Europe/Monaco",
"Europe/Podgorica",
"Europe/Skopje",
"Europe/Malta",
"Africa/Windhoek",
"Europe/Amsterdam",
"Europe/Oslo",
"Europe/Warsaw",
"Europe/Belgrade",
"Europe/Stockholm",
"Europe/Ljubljana",
"Arctic/Longyearbyen",
"Europe/Bratislava",
"Europe/San_Marino",
"Europe/Vatican"
],
"main_timezones_names": [
"CET",
"MET",
"Andorra",
"Tirane",
"Vienna",
"Brussels",
"Zurich",
"Prague",
"Berlin",
"Copenhagen",
"Ceuta",
"Madrid",
"Paris",
"Gibraltar",
"Budapest",
"Rome",
"Luxembourg",
"Monaco",
"Malta",
"Windhoek",
"Amsterdam",
"Oslo",
"Warsaw",
"Belgrade",
"Stockholm"
]
},
{
"utc_offset": "+01:00",
"timezones_countries": [
"AO",
"BJ",
"CD",
"CF",
"CG",
"CM",
"DZ",
"GA",
"GQ",
"NE",
"NG",
"TD",
"TN"
],
"dst": false,
"sort_key": 100,
"utc_dst_offset": "+01:00",
"timezone_display_string": "UTC+01:00 Algiers, Lagos, Ndjamena, Tunis",
"representative_timezone": "Etc/GMT-1",
"timezones_names": [
"Etc/GMT-1",
"Africa/Luanda",
"Africa/Porto-Novo",
"Africa/Kinshasa",
"Africa/Bangui",
"Africa/Brazzaville",
"Africa/Douala",
"Africa/Algiers",
"Africa/Libreville",
"Africa/Malabo",
"Africa/Niamey",
"Africa/Lagos",
"Africa/Ndjamena",
"Africa/Tunis"
],
"main_timezones_names": [
"Algiers",
"Lagos",
"Ndjamena",
"Tunis"
]
},
{
"utc_offset": "+02:00",
"timezones_countries": [
"BI",
"BW",
"CD",
"EG",
"LS",
"LY",
"MW",
"MZ",
"RU",
"RW",
"SZ",
"ZA",
"ZM",
"ZW"
],
"dst": false,
"sort_key": 200,
"utc_dst_offset": "+02:00",
"timezone_display_string": "UTC+02:00 Cairo, Tripoli, Maputo, Kaliningrad, Johannesburg",
"representative_timezone": "Etc/GMT-2",
"timezones_names": [
"Egypt",
"Etc/GMT-2",
"Libya",
"Africa/Bujumbura",
"Africa/Gaborone",
"Africa/Lubumbashi",
"Africa/Cairo",
"Africa/Maseru",
"Africa/Tripoli",
"Africa/Blantyre",
"Africa/Maputo",
"Europe/Kaliningrad",
"Africa/Kigali",
"Africa/Mbabane",
"Africa/Johannesburg",
"Africa/Lusaka",
"Africa/Harare"
],
"main_timezones_names": [
"Cairo",
"Tripoli",
"Maputo",
"Kaliningrad",
"Johannesburg"
]
},
{
"utc_offset": "+02:00",
"timezones_countries": [
"AX",
"BG",
"CY",
"EE",
"FI",
"GR",
"IL",
"JO",
"LB",
"LT",
"LV",
"MD",
"PS",
"RO",
"SY",
"UA"
],
"dst": true,
"sort_key": 200,
"utc_dst_offset": "+03:00",
"timezone_display_string": "UTC+02:00 EET, Sofia, Nicosia, Tallinn, Helsinki, Athens, Jerusalem, Amman, Beirut, Vilnius, Riga, Chisinau, Gaza, Hebron, Bucharest, Damascus, Kiev, Uzhgorod, Zaporozhye",
"representative_timezone": "EET",
"timezones_names": [
"Asia/Tel_Aviv",
"EET",
"Europe/Nicosia",
"Europe/Tiraspol",
"Israel",
"Europe/Mariehamn",
"Europe/Sofia",
"Asia/Nicosia",
"Europe/Tallinn",
"Europe/Helsinki",
"Europe/Athens",
"Asia/Jerusalem",
"Asia/Amman",
"Asia/Beirut",
"Europe/Vilnius",
"Europe/Riga",
"Europe/Chisinau",
"Asia/Gaza",
"Asia/Hebron",
"Europe/Bucharest",
"Asia/Damascus",
"Europe/Kiev",
"Europe/Uzhgorod",
"Europe/Zaporozhye"
],
"main_timezones_names": [
"EET",
"Sofia",
"Nicosia",
"Tallinn",
"Helsinki",
"Athens",
"Jerusalem",
"Amman",
"Beirut",
"Vilnius",
"Riga",
"Chisinau",
"Gaza",
"Hebron",
"Bucharest",
"Damascus",
"Kiev",
"Uzhgorod",
"Zaporozhye"
]
},
{
"utc_offset": "+03:00",
"timezones_countries": [
"AQ",
"BH",
"BY",
"CY",
"DJ",
"ER",
"ET",
"IQ",
"KE",
"KM",
"KW",
"MG",
"QA",
"RU",
"SA",
"SD",
"SO",
"SS",
"TR",
"TZ",
"UG",
"YE",
"YT"
],
"dst": false,
"sort_key": 300,
"utc_dst_offset": "+03:00",
"timezone_display_string": "UTC+03:00 Syowa, Minsk, Famagusta, Baghdad, Nairobi, Qatar, Kirov, Moscow, Simferopol, Volgograd, Riyadh, Khartoum, Istanbul",
"representative_timezone": "Etc/GMT-3",
"timezones_names": [
"Africa/Asmera",
"Asia/Istanbul",
"Etc/GMT-3",
"Turkey",
"W-SU",
"Antarctica/Syowa",
"Asia/Bahrain",
"Europe/Minsk",
"Asia/Famagusta",
"Africa/Djibouti",
"Africa/Asmara",
"Africa/Addis_Ababa",
"Asia/Baghdad",
"Africa/Nairobi",
"Indian/Comoro",
"Asia/Kuwait",
"Indian/Antananarivo",
"Asia/Qatar",
"Europe/Kirov",
"Europe/Moscow",
"Europe/Simferopol",
"Europe/Volgograd",
"Asia/Riyadh",
"Africa/Khartoum",
"Africa/Mogadishu",
"Africa/Juba",
"Europe/Istanbul",
"Africa/Dar_es_Salaam",
"Africa/Kampala",
"Asia/Aden",
"Indian/Mayotte"
],
"main_timezones_names": [
"Syowa",
"Minsk",
"Famagusta",
"Baghdad",
"Nairobi",
"Qatar",
"Kirov",
"Moscow",
"Simferopol",
"Volgograd",
"Riyadh",
"Khartoum",
"Istanbul"
]
},
{
"utc_offset": "+03:30",
"timezones_countries": [
"IR"
],
"dst": true,
"sort_key": 330,
"utc_dst_offset": "+04:30",
"timezone_display_string": "UTC+03:30 Tehran",
"representative_timezone": "Asia/Tehran",
"timezones_names": [
"Iran",
"Asia/Tehran"
],
"main_timezones_names": [
"Tehran"
]
},
{
"utc_offset": "+04:00",
"timezones_countries": [
"AE",
"AM",
"AZ",
"GE",
"MU",
"OM",
"RE",
"RU",
"SC"
],
"dst": false,
"sort_key": 400,
"utc_dst_offset": "+04:00",
"timezone_display_string": "UTC+04:00 Dubai, Yerevan, Baku, Tbilisi, Mauritius, Reunion, Astrakhan, Samara, Saratov, Ulyanovsk, Mahe",
"representative_timezone": "Etc/GMT-4",
"timezones_names": [
"Etc/GMT-4",
"Asia/Dubai",
"Asia/Yerevan",
"Asia/Baku",
"Asia/Tbilisi",
"Indian/Mauritius",
"Asia/Muscat",
"Indian/Reunion",
"Europe/Astrakhan",
"Europe/Samara",
"Europe/Saratov",
"Europe/Ulyanovsk",
"Indian/Mahe"
],
"main_timezones_names": [
"Dubai",
"Yerevan",
"Baku",
"Tbilisi",
"Mauritius",
"Reunion",
"Astrakhan",
"Samara",
"Saratov",
"Ulyanovsk",
"Mahe"
]
},
{
"utc_offset": "+04:30",
"timezones_countries": [
"AF"
],
"dst": false,
"sort_key": 430,
"utc_dst_offset": "+04:30",
"timezone_display_string": "UTC+04:30 Kabul",
"representative_timezone": "Asia/Kabul",
"timezones_names": [
"Asia/Kabul"
],
"main_timezones_names": [
"Kabul"
]
},
{
"utc_offset": "+05:00",
"timezones_countries": [
"AQ",
"KZ",
"MV",
"PK",
"RU",
"TF",
"TJ",
"TM",
"UZ"
],
"dst": false,
"sort_key": 500,
"utc_dst_offset": "+05:00",
"timezone_display_string": "UTC+05:00 Mawson, Aqtau, Aqtobe, Atyrau, Oral, Maldives, Karachi, Yekaterinburg, Kerguelen, Dushanbe, Ashgabat, Samarkand, Tashkent",
"representative_timezone": "Etc/GMT-5",
"timezones_names": [
"Asia/Ashkhabad",
"Etc/GMT-5",
"Antarctica/Mawson",
"Asia/Aqtau",
"Asia/Aqtobe",
"Asia/Atyrau",
"Asia/Oral",
"Indian/Maldives",
"Asia/Karachi",
"Asia/Yekaterinburg",
"Indian/Kerguelen",
"Asia/Dushanbe",
"Asia/Ashgabat",
"Asia/Samarkand",
"Asia/Tashkent"
],
"main_timezones_names": [
"Mawson",
"Aqtau",
"Aqtobe",
"Atyrau",
"Oral",
"Maldives",
"Karachi",
"Yekaterinburg",
"Kerguelen",
"Dushanbe",
"Ashgabat",
"Samarkand",
"Tashkent"
]
},
{
"utc_offset": "+05:30",
"timezones_countries": [
"IN",
"LK"
],
"dst": false,
"sort_key": 530,
"utc_dst_offset": "+05:30",
"timezone_display_string": "UTC+05:30 Kolkata, Colombo",
"representative_timezone": "Asia/Kolkata",
"timezones_names": [
"Asia/Calcutta",
"Asia/Kolkata",
"Asia/Colombo"
],
"main_timezones_names": [
"Kolkata",
"Colombo"
]
},
{
"utc_offset": "+05:45",
"timezones_countries": [
"NP"
],
"dst": false,
"sort_key": 545,
"utc_dst_offset": "+05:45",
"timezone_display_string": "UTC+05:45 Kathmandu",
"representative_timezone": "Asia/Kathmandu",
"timezones_names": [
"Asia/Katmandu",
"Asia/Kathmandu"
],
"main_timezones_names": [
"Kathmandu"
]
},
{
"utc_offset": "+06:00",
"timezones_countries": [
"AQ",
"BD",
"BT",
"CN",
"IO",
"KG",
"KZ",
"RU"
],
"dst": false,
"sort_key": 600,
"utc_dst_offset": "+06:00",
"timezone_display_string": "UTC+06:00 Vostok, Dhaka, Thimphu, Urumqi, Chagos, Bishkek, Almaty, Qyzylorda, Omsk",
"representative_timezone": "Etc/GMT-6",
"timezones_names": [
"Asia/Dacca",
"Asia/Kashgar",
"Asia/Thimbu",
"Etc/GMT-6",
"Antarctica/Vostok",
"Asia/Dhaka",
"Asia/Thimphu",
"Asia/Urumqi",
"Indian/Chagos",
"Asia/Bishkek",
"Asia/Almaty",
"Asia/Qyzylorda",
"Asia/Omsk"
],
"main_timezones_names": [
"Vostok",
"Dhaka",
"Thimphu",
"Urumqi",
"Chagos",
"Bishkek",
"Almaty",
"Qyzylorda",
"Omsk"
]
},
{
"utc_offset": "+06:30",
"timezones_countries": [
"CC",
"MM"
],
"dst": false,
"sort_key": 630,
"utc_dst_offset": "+06:30",
"timezone_display_string": "UTC+06:30 Cocos, Yangon",
"representative_timezone": "Asia/Yangon",
"timezones_names": [
"Asia/Rangoon",
"Indian/Cocos",
"Asia/Yangon"
],
"main_timezones_names": [
"Cocos",
"Yangon"
]
},
{
"utc_offset": "+07:00",
"timezones_countries": [
"MN"
],
"dst": true,
"sort_key": 700,
"utc_dst_offset": "+08:00",
"timezone_display_string": "UTC+07:00 Hovd",
"representative_timezone": "Asia/Hovd",
"timezones_names": [
"Asia/Hovd"
],
"main_timezones_names": [
"Hovd"
]
},
{
"utc_offset": "+07:00",
"timezones_countries": [
"AQ",
"CX",
"ID",
"KH",
"LA",
"RU",
"TH",
"VN"
],
"dst": false,
"sort_key": 700,
"utc_dst_offset": "+07:00",
"timezone_display_string": "UTC+07:00 Davis, Christmas, Jakarta, Pontianak, Barnaul, Krasnoyarsk, Novokuznetsk, Novosibirsk, Tomsk, Bangkok, Ho Chi Minh",
"representative_timezone": "Etc/GMT-7",
"timezones_names": [
"Asia/Saigon",
"Etc/GMT-7",
"Antarctica/Davis",
"Indian/Christmas",
"Asia/Jakarta",
"Asia/Pontianak",
"Asia/Phnom_Penh",
"Asia/Vientiane",
"Asia/Barnaul",
"Asia/Krasnoyarsk",
"Asia/Novokuznetsk",
"Asia/Novosibirsk",
"Asia/Tomsk",
"Asia/Bangkok",
"Asia/Ho_Chi_Minh"
],
"main_timezones_names": [
"Davis",
"Christmas",
"Jakarta",
"Pontianak",
"Barnaul",
"Krasnoyarsk",
"Novokuznetsk",
"Novosibirsk",
"Tomsk",
"Bangkok",
"Ho Chi Minh"
]
},
{
"utc_offset": "+08:00",
"timezones_countries": [
"AU",
"BN",
"CN",
"HK",
"ID",
"MO",
"MY",
"PH",
"RU",
"SG",
"TW"
],
"dst": false,
"sort_key": 800,
"utc_dst_offset": "+08:00",
"timezone_display_string": "UTC+08:00 Perth, Brunei, Shanghai, Hong Kong, Makassar, Macau, Kuala Lumpur, Kuching, Manila, Irkutsk, Singapore, Taipei",
"representative_timezone": "Etc/GMT-8",
"timezones_names": [
"Asia/Chongqing",
"Asia/Chungking",
"Asia/Harbin",
"Asia/Macao",
"Asia/Ujung_Pandang",
"Australia/West",
"Etc/GMT-8",
"Hongkong",
"PRC",
"ROC",
"Singapore",
"Australia/Perth",
"Asia/Brunei",
"Asia/Shanghai",
"Asia/Hong_Kong",
"Asia/Makassar",
"Asia/Macau",
"Asia/Kuala_Lumpur",
"Asia/Kuching",
"Asia/Manila",
"Asia/Irkutsk",
"Asia/Singapore",
"Asia/Taipei"
],
"main_timezones_names": [
"Perth",
"Brunei",
"Shanghai",
"Hong Kong",
"Makassar",
"Macau",
"Kuala Lumpur",
"Kuching",
"Manila",
"Irkutsk",
"Singapore",
"Taipei"
]
},
{
"utc_offset": "+08:00",
"timezones_countries": [
"MN"
],
"dst": true,
"sort_key": 800,
"utc_dst_offset": "+09:00",
"timezone_display_string": "UTC+08:00 Choibalsan, Ulaanbaatar",
"representative_timezone": "Asia/Choibalsan",
"timezones_names": [
"Asia/Ulan_Bator",
"Asia/Choibalsan",
"Asia/Ulaanbaatar"
],
"main_timezones_names": [
"Choibalsan",
"Ulaanbaatar"
]
},
{
"utc_offset": "+08:30",
"timezones_countries": [
"KP"
],
"dst": false,
"sort_key": 830,
"utc_dst_offset": "+08:30",
"timezone_display_string": "UTC+08:30 Pyongyang",
"representative_timezone": "Asia/Pyongyang",
"timezones_names": [
"Asia/Pyongyang"
],
"main_timezones_names": [
"Pyongyang"
]
},
{
"utc_offset": "+08:45",
"timezones_countries": [
"AU"
],
"dst": false,
"sort_key": 845,
"utc_dst_offset": "+08:45",
"timezone_display_string": "UTC+08:45 Eucla",
"representative_timezone": "Australia/Eucla",
"timezones_names": [
"Australia/Eucla"
],
"main_timezones_names": [
"Eucla"
]
},
{
"utc_offset": "+09:00",
"timezones_countries": [
"ID",
"JP",
"KR",
"PW",
"RU",
"TL"
],
"dst": false,
"sort_key": 900,
"utc_dst_offset": "+09:00",
"timezone_display_string": "UTC+09:00 Jayapura, Tokyo, Seoul, Palau, Chita, Khandyga, Yakutsk, Dili",
"representative_timezone": "Etc/GMT-9",
"timezones_names": [
"Etc/GMT-9",
"Japan",
"ROK",
"Asia/Jayapura",
"Asia/Tokyo",
"Asia/Seoul",
"Pacific/Palau",
"Asia/Chita",
"Asia/Khandyga",
"Asia/Yakutsk",
"Asia/Dili"
],
"main_timezones_names": [
"Jayapura",
"Tokyo",
"Seoul",
"Palau",
"Chita",
"Khandyga",
"Yakutsk",
"Dili"
]
},
{
"utc_offset": "+09:30",
"timezones_countries": [
"AU"
],
"dst": false,
"sort_key": 930,
"utc_dst_offset": "+09:30",
"timezone_display_string": "UTC+09:30 Darwin",
"representative_timezone": "Australia/Darwin",
"timezones_names": [
"Australia/North",
"Australia/Darwin"
],
"main_timezones_names": [
"Darwin"
]
},
{
"utc_offset": "+09:30",
"timezones_countries": [
"AU"
],
"dst": true,
"sort_key": 930,
"utc_dst_offset": "+10:30",
"timezone_display_string": "UTC+09:30 Adelaide, Broken Hill",
"representative_timezone": "Australia/Adelaide",
"timezones_names": [
"Australia/South",
"Australia/Yancowinna",
"Australia/Adelaide",
"Australia/Broken_Hill"
],
"main_timezones_names": [
"Adelaide",
"Broken Hill"
]
},
{
"utc_offset": "+10:00",
"timezones_countries": [
"AQ",
"AU",
"FM",
"GU",
"MP",
"PG",
"RU"
],
"dst": false,
"sort_key": 1000,
"utc_dst_offset": "+10:00",
"timezone_display_string": "UTC+10:00 DumontDUrville, Brisbane, Lindeman, Chuuk, Guam, Port Moresby, Ust-Nera, Vladivostok",
"representative_timezone": "Etc/GMT-10",
"timezones_names": [
"Australia/Queensland",
"Etc/GMT-10",
"Pacific/Truk",
"Pacific/Yap",
"Antarctica/DumontDUrville",
"Australia/Brisbane",
"Australia/Lindeman",
"Pacific/Chuuk",
"Pacific/Guam",
"Pacific/Saipan",
"Pacific/Port_Moresby",
"Asia/Ust-Nera",
"Asia/Vladivostok"
],
"main_timezones_names": [
"DumontDUrville",
"Brisbane",
"Lindeman",
"Chuuk",
"Guam",
"Port Moresby",
"Ust-Nera",
"Vladivostok"
]
},
{
"utc_offset": "+10:00",
"timezones_countries": [
"AU"
],
"dst": true,
"sort_key": 1000,
"utc_dst_offset": "+11:00",
"timezone_display_string": "UTC+10:00 Currie, Hobart, Melbourne, Sydney",
"representative_timezone": "Australia/Currie",
"timezones_names": [
"Australia/ACT",
"Australia/Canberra",
"Australia/NSW",
"Australia/Tasmania",
"Australia/Victoria",
"Australia/Currie",
"Australia/Hobart",
"Australia/Melbourne",
"Australia/Sydney"
],
"main_timezones_names": [
"Currie",
"Hobart",
"Melbourne",
"Sydney"
]
},
{
"utc_offset": "+10:30",
"timezones_countries": [
"AU"
],
"dst": true,
"sort_key": 1030,
"utc_dst_offset": "+11:00",
"timezone_display_string": "UTC+10:30 Lord Howe",
"representative_timezone": "Australia/Lord_Howe",
"timezones_names": [
"Australia/LHI",
"Australia/Lord_Howe"
],
"main_timezones_names": [
"Lord Howe"
]
},
{
"utc_offset": "+11:00",
"timezones_countries": [
"AQ",
"AU",
"FM",
"NC",
"NF",
"PG",
"RU",
"SB",
"VU"
],
"dst": false,
"sort_key": 1100,
"utc_dst_offset": "+11:00",
"timezone_display_string": "UTC+11:00 Casey, Macquarie, Kosrae, Pohnpei, Noumea, Norfolk, Bougainville, Magadan, Sakhalin, Srednekolymsk, Guadalcanal, Efate",
"representative_timezone": "Etc/GMT-11",
"timezones_names": [
"Etc/GMT-11",
"Pacific/Ponape",
"Antarctica/Casey",
"Antarctica/Macquarie",
"Pacific/Kosrae",
"Pacific/Pohnpei",
"Pacific/Noumea",
"Pacific/Norfolk",
"Pacific/Bougainville",
"Asia/Magadan",
"Asia/Sakhalin",
"Asia/Srednekolymsk",
"Pacific/Guadalcanal",
"Pacific/Efate"
],
"main_timezones_names": [
"Casey",
"Macquarie",
"Kosrae",
"Pohnpei",
"Noumea",
"Norfolk",
"Bougainville",
"Magadan",
"Sakhalin",
"Srednekolymsk",
"Guadalcanal",
"Efate"
]
},
{
"utc_offset": "+12:00",
"timezones_countries": [
"KI",
"MH",
"NR",
"RU",
"TV",
"UM",
"WF"
],
"dst": false,
"sort_key": 1200,
"utc_dst_offset": "+12:00",
"timezone_display_string": "UTC+12:00 Tarawa, Kwajalein, Majuro, Nauru, Anadyr, Kamchatka, Funafuti, Wake, Wallis",
"representative_timezone": "Etc/GMT-12",
"timezones_names": [
"Etc/GMT-12",
"Kwajalein",
"Pacific/Tarawa",
"Pacific/Kwajalein",
"Pacific/Majuro",
"Pacific/Nauru",
"Asia/Anadyr",
"Asia/Kamchatka",
"Pacific/Funafuti",
"Pacific/Wake",
"Pacific/Wallis"
],
"main_timezones_names": [
"Tarawa",
"Kwajalein",
"Majuro",
"Nauru",
"Anadyr",
"Kamchatka",
"Funafuti",
"Wake",
"Wallis"
]
},
{
"utc_offset": "+12:00",
"timezones_countries": [
"AQ",
"FJ",
"NZ"
],
"dst": true,
"sort_key": 1200,
"utc_dst_offset": "+13:00",
"timezone_display_string": "UTC+12:00 Fiji, Auckland",
"representative_timezone": "Pacific/Fiji",
"timezones_names": [
"Antarctica/South_Pole",
"NZ",
"Antarctica/McMurdo",
"Pacific/Fiji",
"Pacific/Auckland"
],
"main_timezones_names": [
"Fiji",
"Auckland"
]
},
{
"utc_offset": "+12:45",
"timezones_countries": [
"NZ"
],
"dst": true,
"sort_key": 1245,
"utc_dst_offset": "+13:45",
"timezone_display_string": "UTC+12:45 Chatham",
"representative_timezone": "Pacific/Chatham",
"timezones_names": [
"NZ-CHAT",
"Pacific/Chatham"
],
"main_timezones_names": [
"Chatham"
]
},
{
"utc_offset": "+13:00",
"timezones_countries": [
"TO",
"WS"
],
"dst": true,
"sort_key": 1300,
"utc_dst_offset": "+14:00",
"timezone_display_string": "UTC+13:00 Tongatapu, Apia",
"representative_timezone": "Pacific/Tongatapu",
"timezones_names": [
"Pacific/Tongatapu",
"Pacific/Apia"
],
"main_timezones_names": [
"Tongatapu",
"Apia"
]
},
{
"utc_offset": "+13:00",
"timezones_countries": [
"KI",
"TK"
],
"dst": false,
"sort_key": 1300,
"utc_dst_offset": "+13:00",
"timezone_display_string": "UTC+13:00 Enderbury, Fakaofo",
"representative_timezone": "Etc/GMT-13",
"timezones_names": [
"Etc/GMT-13",
"Pacific/Enderbury",
"Pacific/Fakaofo"
],
"main_timezones_names": [
"Enderbury",
"Fakaofo"
]
},
{
"utc_offset": "+14:00",
"timezones_countries": [
"KI"
],
"dst": false,
"sort_key": 1400,
"utc_dst_offset": "+14:00",
"timezone_display_string": "UTC+14:00 Kiritimati",
"representative_timezone": "Etc/GMT-14",
"timezones_names": [
"Etc/GMT-14",
"Pacific/Kiritimati"
],
"main_timezones_names": [
"Kiritimati"
]
}
]
"""Simple script to reduce the extensive IANA timezone list to a compact one, featuring
all timezones with and without Daylight Time Savings"""
import csv
import re
import json
SAVE_JSON_FILE = True
JSON_FILENAME = 'compact_timezone_list.json'
PRINT_HTML_OUTPUT = True
PRINT_ANALYTICS = True
# https://en.wikipedia.org/wiki/List_of_tz_database_time_zones table converted to csv
# using Libreoffice Calc
IANA_TIMEZONES_CSV_FILE = 'tzdata2016.csv'
# The special area of "Etc" is used for some administrative zones, particularly for "Etc/UTC" which represents
# Coordinated Universal Time.
# Include "Etc" areas in display names (default: False)
INCLUDE_ETC_TIMEZONES = False
CONTINENTS = ['Africa', 'America', 'Asia', 'Australia' 'Europe']
tz_pattern = re.compile(r"[A-Z]{3}[0-9][A-Z]{3}")
analytics = {
'tz_total_count': 0,
'tz_compact_count': 0,
'tz_html_options_count': 0,
}
def get_index(offset):
numbers = offset.replace(':', '')
return int(numbers)
def strip_area(timezone):
timezone_spaces = timezone.replace('_', ' ')
parts = timezone_spaces.split('/')
return parts[-1]
def get_area(timezone):
return timezone.split('/')[0]
def update_representative_timezone(current, candidate, candidate_notes):
if 'link to' in candidate_notes.lower():
return current
if not current:
return candidate
if 'Etc/' in current:
return current
if 'Etc/' in candidate:
return candidate
if len(current) == 3:
return current
if len(candidate) == 3:
return candidate
if tz_pattern.match(current):
return current
if tz_pattern.match(candidate):
return candidate
if get_area(current) in CONTINENTS:
return current
if get_area(candidate) in CONTINENTS:
return candidate
return current
def print_html_output(timezones_list):
print('<select>')
for zone in timezones_list:
if not zone['main_timezones_names']:
continue
dst_value = 1 if zone['dst'] else 0
option = ' <option utc_offset="{}" dst="{}" value="{}">' \
.format(zone['utc_offset'], dst_value, zone['representative_timezone'])
analytics['tz_html_options_count'] += 1
option += zone['timezone_display_string']
option += '</option>'
print(option)
print('</select>')
def get_tz_compact_list():
timezones_dict = {}
with open(IANA_TIMEZONES_CSV_FILE, 'r') as csvfile:
fieldnames = ['country_code', 'coordinates', 'timezone', 'comments', 'utc_offset', 'utc_dst_offset', 'notes']
reader = csv.DictReader(csvfile, fieldnames)
next(reader)
for row in reader:
i = get_index(row['utc_offset'])
j = get_index(row['utc_dst_offset'])
if i not in timezones_dict:
timezones_dict[i] = {}
if j not in timezones_dict[i]:
timezones_dict[i][j] = {
'sort_key': i,
'utc_offset': row['utc_offset'],
'utc_dst_offset': row['utc_dst_offset'],
'dst': row['utc_offset'] != row['utc_dst_offset'],
'main_timezones_names': [],
'timezone_display_string': '',
'timezones_names': [],
'representative_timezone': '',
'timezones_countries': [],
# 'timezones_objects': [],
}
timezones_dict[i][j]['representative_timezone'] = update_representative_timezone(
timezones_dict[i][j]['representative_timezone'], row['timezone'], row['notes'])
if 'link to' not in row['notes'].lower() and (INCLUDE_ETC_TIMEZONES or 'Etc/' not in row['timezone']):
timezones_dict[i][j]['main_timezones_names'].append(strip_area(row['timezone']))
timezones_dict[i][j]['timezone_display_string'] = 'UTC{} '.format(row['utc_offset']) + ', '.join(
timezones_dict[i][j]['main_timezones_names'])
timezones_dict[i][j]['timezones_names'].append(row['timezone'])
if row['country_code'] and row['country_code'] not in timezones_dict[i][j]['timezones_countries']:
timezones_dict[i][j]['timezones_countries'].append(row['country_code'])
# timezones_dict[i][j]['timezones_objects'].append(row)
analytics['tz_total_count'] += 1
timezones_compact_list = []
for dst_list in timezones_dict.values():
for dst in dst_list.values():
timezones_compact_list.append(dst)
return sorted(timezones_compact_list, key=lambda x: x['sort_key'])
if __name__ == "__main__":
sorted_list = get_tz_compact_list()
analytics['tz_compact_count'] = (len(sorted_list))
if PRINT_HTML_OUTPUT:
print_html_output(sorted_list)
if SAVE_JSON_FILE:
with open(JSON_FILENAME, 'w') as jsonfile:
json.dump(sorted_list, jsonfile, indent=4)
if PRINT_ANALYTICS:
print(analytics)
CC* Coordinates* TZ* Comments* UTC offset UTC DST offset Notes
Africa/Timbuktu +00:00 +00:00 Link to Africa/Abidjan
Atlantic/Faeroe +00:00 +01:00 Link to Atlantic/Faroe
Eire +00:00 +01:00 Link to Europe/Dublin
Etc/GMT +00:00 +00:00
Etc/GMT+0 +00:00 +00:00 Link to Etc/GMT
Etc/GMT0 +00:00 +00:00 Link to Etc/GMT
Etc/GMT-0 +00:00 +00:00 Link to Etc/GMT
Etc/Greenwich +00:00 +00:00 Link to Etc/GMT
Etc/UCT +00:00 +00:00
Etc/Universal +00:00 +00:00 Link to Etc/UTC
Etc/UTC +00:00 +00:00
Etc/Zulu +00:00 +00:00 Link to Etc/UTC
Europe/Belfast +00:00 +01:00 Link to Europe/London
GB +00:00 +01:00 Link to Europe/London
GB-Eire +00:00 +01:00 Link to Europe/London
GMT +00:00 +00:00 Link to Etc/GMT
GMT+0 +00:00 +00:00 Link to Etc/GMT
GMT0 +00:00 +00:00 Link to Etc/GMT
GMT-0 +00:00 +00:00 Link to Etc/GMT
Greenwich +00:00 +00:00 Link to Etc/GMT
Iceland +00:00 +00:00 Link to Atlantic/Reykjavik
Portugal +00:00 +01:00 Link to Europe/Lisbon
UCT +00:00 +00:00 Link to Etc/UCT
Universal +00:00 +00:00 Link to Etc/UTC
UTC +00:00 +00:00 Link to Etc/UTC
WET +00:00 +01:00
Zulu +00:00 +00:00 Link to Etc/UTC
AQ -720041+0023206 Antarctica/Troll Troll +00:00 +02:00 Also uses +01:00 for a brief period between standard and daylight time.[1]
BF +1222-00131 Africa/Ouagadougou +00:00 +00:00 Link to Africa/Abidjan
CI +0519-00402 Africa/Abidjan +00:00 +00:00
EH +2709-01312 Africa/El_Aaiun +00:00 +01:00
ES +2806-01524 Atlantic/Canary Canary Islands +00:00 +01:00
FO +6201-00646 Atlantic/Faroe +00:00 +01:00
GB +513030-0000731 Europe/London +00:00 +01:00
GG +4927-00232 Europe/Guernsey +00:00 +01:00 Link to Europe/London
GH +0533-00013 Africa/Accra +00:00 +00:00
GL +7646-01840 America/Danmarkshavn National Park (east coast) +00:00 +00:00
GM +1328-01639 Africa/Banjul +00:00 +00:00 Link to Africa/Abidjan
GN +0931-01343 Africa/Conakry +00:00 +00:00 Link to Africa/Abidjan
GW +1151-01535 Africa/Bissau +00:00 +00:00
IE +5320-00615 Europe/Dublin +00:00 +01:00
IM +5409-00428 Europe/Isle_of_Man +00:00 +01:00 Link to Europe/London
IS +6409-02151 Atlantic/Reykjavik +00:00 +00:00
JE +4912-00207 Europe/Jersey +00:00 +01:00 Link to Europe/London
LR +0618-01047 Africa/Monrovia +00:00 +00:00
MA +3339-00735 Africa/Casablanca +00:00 +01:00
ML +1239-00800 Africa/Bamako +00:00 +00:00 Link to Africa/Abidjan
MR +1806-01557 Africa/Nouakchott +00:00 +00:00 Link to Africa/Abidjan
PT +3238-01654 Atlantic/Madeira Madeira Islands +00:00 +01:00
PT +3843-00908 Europe/Lisbon Portugal (mainland) +00:00 +01:00
SH -1555-00542 Atlantic/St_Helena +00:00 +00:00 Link to Africa/Abidjan
SL +0830-01315 Africa/Freetown +00:00 +00:00 Link to Africa/Abidjan
SN +1440-01726 Africa/Dakar +00:00 +00:00 Link to Africa/Abidjan
ST +0020+00644 Africa/Sao_Tome +00:00 +00:00 Link to Africa/Abidjan
TG +0608+00113 Africa/Lome +00:00 +00:00 Link to Africa/Abidjan
Atlantic/Jan_Mayen +01:00 +02:00 Link to Europe/Oslo
CET +01:00 +02:00
Etc/GMT-1 +01:00 +01:00 Sign is intentionally inverted. See the Etc area description.
MET +01:00 +02:00
Poland +01:00 +02:00 Link to Europe/Warsaw
AD +4230+00131 Europe/Andorra +01:00 +02:00
AL +4120+01950 Europe/Tirane +01:00 +02:00
AO -0848+01314 Africa/Luanda +01:00 +01:00 Link to Africa/Lagos
AT +4813+01620 Europe/Vienna +01:00 +02:00
BA +4352+01825 Europe/Sarajevo +01:00 +02:00 Link to Europe/Belgrade
BE +5050+00420 Europe/Brussels +01:00 +02:00
BJ +0629+00237 Africa/Porto-Novo +01:00 +01:00 Link to Africa/Lagos
CD -0418+01518 Africa/Kinshasa Dem. Rep. of Congo (west) +01:00 +01:00 Link to Africa/Lagos
CF +0422+01835 Africa/Bangui +01:00 +01:00 Link to Africa/Lagos
CG -0416+01517 Africa/Brazzaville +01:00 +01:00 Link to Africa/Lagos
CH +4723+00832 Europe/Zurich +01:00 +02:00
CM +0403+00942 Africa/Douala +01:00 +01:00 Link to Africa/Lagos
CZ +5005+01426 Europe/Prague +01:00 +02:00
DE +5230+01322 Europe/Berlin Germany (most areas) +01:00 +02:00 In 1945, the Trizone did not follow Berlin's switch to DST, see Time in Germany
DE +4742+00841 Europe/Busingen Busingen +01:00 +02:00 Link to Europe/Zurich
DK +5540+01235 Europe/Copenhagen +01:00 +02:00
DZ +3647+00303 Africa/Algiers +01:00 +01:00
ES +3553-00519 Africa/Ceuta Ceuta, Melilla +01:00 +02:00
ES +4024-00341 Europe/Madrid Spain (mainland) +01:00 +02:00
FR +4852+00220 Europe/Paris +01:00 +02:00
GA +0023+00927 Africa/Libreville +01:00 +01:00 Link to Africa/Lagos
GI +3608-00521 Europe/Gibraltar +01:00 +02:00
GQ +0345+00847 Africa/Malabo +01:00 +01:00 Link to Africa/Lagos
HR +4548+01558 Europe/Zagreb +01:00 +02:00 Link to Europe/Belgrade
HU +4730+01905 Europe/Budapest +01:00 +02:00
IT +4154+01229 Europe/Rome +01:00 +02:00
LI +4709+00931 Europe/Vaduz +01:00 +02:00 Link to Europe/Zurich
LU +4936+00609 Europe/Luxembourg +01:00 +02:00
MC +4342+00723 Europe/Monaco +01:00 +02:00
ME +4226+01916 Europe/Podgorica +01:00 +02:00 Link to Europe/Belgrade
MK +4159+02126 Europe/Skopje +01:00 +02:00 Link to Europe/Belgrade
MT +3554+01431 Europe/Malta +01:00 +02:00
NA -2234+01706 Africa/Windhoek +01:00 +02:00
NE +1331+00207 Africa/Niamey +01:00 +01:00 Link to Africa/Lagos
NG +0627+00324 Africa/Lagos +01:00 +01:00
NL +5222+00454 Europe/Amsterdam +01:00 +02:00
NO +5955+01045 Europe/Oslo +01:00 +02:00
PL +5215+02100 Europe/Warsaw +01:00 +02:00
RS +4450+02030 Europe/Belgrade +01:00 +02:00
SE +5920+01803 Europe/Stockholm +01:00 +02:00
SI +4603+01431 Europe/Ljubljana +01:00 +02:00 Link to Europe/Belgrade
SJ +7800+01600 Arctic/Longyearbyen +01:00 +02:00 Link to Europe/Oslo
SK +4809+01707 Europe/Bratislava +01:00 +02:00 Link to Europe/Prague
SM +4355+01228 Europe/San_Marino +01:00 +02:00 Link to Europe/Rome
TD +1207+01503 Africa/Ndjamena +01:00 +01:00
TN +3648+01011 Africa/Tunis +01:00 +01:00
VA +415408+0122711 Europe/Vatican +01:00 +02:00 Link to Europe/Rome
Asia/Tel_Aviv +02:00 +03:00 Link to Asia/Jerusalem
EET +02:00 +03:00
Egypt +02:00 +02:00 Link to Africa/Cairo
Etc/GMT-2 +02:00 +02:00 Sign is intentionally inverted. See the Etc area description.
Europe/Nicosia +02:00 +03:00 Link to Asia/Nicosia
Europe/Tiraspol +02:00 +03:00 Link to Europe/Chisinau
Israel +02:00 +03:00 Link to Asia/Jerusalem
Libya +02:00 +02:00 Link to Africa/Tripoli
AX +6006+01957 Europe/Mariehamn +02:00 +03:00 Link to Europe/Helsinki
BG +4241+02319 Europe/Sofia +02:00 +03:00
BI -0323+02922 Africa/Bujumbura +02:00 +02:00 Link to Africa/Maputo
BW -2439+02555 Africa/Gaborone +02:00 +02:00 Link to Africa/Maputo
CD -1140+02728 Africa/Lubumbashi Dem. Rep. of Congo (east) +02:00 +02:00 Link to Africa/Maputo
CY +3510+03322 Asia/Nicosia Cyprus (most areas) +02:00 +03:00
EE +5925+02445 Europe/Tallinn +02:00 +03:00
EG +3003+03115 Africa/Cairo +02:00 +02:00
FI +6010+02458 Europe/Helsinki +02:00 +03:00
GR +3758+02343 Europe/Athens +02:00 +03:00
IL +314650+0351326 Asia/Jerusalem +02:00 +03:00
JO +3157+03556 Asia/Amman +02:00 +03:00
LB +3353+03530 Asia/Beirut +02:00 +03:00
LS -2928+02730 Africa/Maseru +02:00 +02:00 Link to Africa/Johannesburg
LT +5441+02519 Europe/Vilnius +02:00 +03:00
LV +5657+02406 Europe/Riga +02:00 +03:00
LY +3254+01311 Africa/Tripoli +02:00 +02:00
MD +4700+02850 Europe/Chisinau +02:00 +03:00
MW -1547+03500 Africa/Blantyre +02:00 +02:00 Link to Africa/Maputo
MZ -2558+03235 Africa/Maputo +02:00 +02:00
PS +3130+03428 Asia/Gaza Gaza Strip +02:00 +03:00
PS +3132+0350542 Asia/Hebron West Bank +02:00 +03:00
RO +4426+02606 Europe/Bucharest +02:00 +03:00
RU +5443+02030 Europe/Kaliningrad MSK-01 - Kaliningrad +02:00 +02:00
RW -0157+03004 Africa/Kigali +02:00 +02:00 Link to Africa/Maputo
SY +3330+03618 Asia/Damascus +02:00 +03:00
SZ -2618+03106 Africa/Mbabane +02:00 +02:00 Link to Africa/Johannesburg
UA +5026+03031 Europe/Kiev Ukraine (most areas) +02:00 +03:00
UA +4837+02218 Europe/Uzhgorod Ruthenia +02:00 +03:00
UA +4750+03510 Europe/Zaporozhye Zaporozh'ye/Zaporizhia; Lugansk/Luhansk (east) +02:00 +03:00
ZA -2615+02800 Africa/Johannesburg +02:00 +02:00
ZM -1525+02817 Africa/Lusaka +02:00 +02:00 Link to Africa/Maputo
ZW -1750+03103 Africa/Harare +02:00 +02:00 Link to Africa/Maputo
Africa/Asmera +03:00 +03:00 Link to Africa/Nairobi
Asia/Istanbul +03:00 +03:00 Link to Europe/Istanbul
Etc/GMT-3 +03:00 +03:00 Sign is intentionally inverted. See the Etc area description.
Turkey +03:00 +03:00 Link to Europe/Istanbul
W-SU +03:00 +03:00 Link to Europe/Moscow
AQ -690022+0393524 Antarctica/Syowa Syowa +03:00 +03:00
BH +2623+05035 Asia/Bahrain +03:00 +03:00 Link to Asia/Qatar
BY +5354+02734 Europe/Minsk +03:00 +03:00
CY +3507+03357 Asia/Famagusta Northern Cyprus +03:00 +03:00
DJ +1136+04309 Africa/Djibouti +03:00 +03:00 Link to Africa/Nairobi
ER +1520+03853 Africa/Asmara +03:00 +03:00 Link to Africa/Nairobi
ET +0902+03842 Africa/Addis_Ababa +03:00 +03:00 Link to Africa/Nairobi
IQ +3321+04425 Asia/Baghdad +03:00 +03:00
KE -0117+03649 Africa/Nairobi +03:00 +03:00
KM -1141+04316 Indian/Comoro +03:00 +03:00 Link to Africa/Nairobi
KW +2920+04759 Asia/Kuwait +03:00 +03:00 Link to Asia/Riyadh
MG -1855+04731 Indian/Antananarivo +03:00 +03:00 Link to Africa/Nairobi
QA +2517+05132 Asia/Qatar +03:00 +03:00
RU +5836+04939 Europe/Kirov MSK+00 - Kirov +03:00 +03:00
RU +554521+0373704 Europe/Moscow MSK+00 - Moscow area +03:00 +03:00
RU +4457+03406 Europe/Simferopol MSK+00 - Crimea +03:00 +03:00 Disputed - Reflects data in the TZDB.[note 3]
RU +4844+04425 Europe/Volgograd MSK+00 - Volgograd +03:00 +03:00
SA +2438+04643 Asia/Riyadh +03:00 +03:00
SD +1536+03232 Africa/Khartoum +03:00 +03:00
SO +0204+04522 Africa/Mogadishu +03:00 +03:00 Link to Africa/Nairobi
SS +0451+03136 Africa/Juba +03:00 +03:00 Link to Africa/Khartoum
TR +4101+02858 Europe/Istanbul +03:00 +03:00
TZ -0648+03917 Africa/Dar_es_Salaam +03:00 +03:00 Link to Africa/Nairobi
UG +0019+03225 Africa/Kampala +03:00 +03:00 Link to Africa/Nairobi
YE +1245+04512 Asia/Aden +03:00 +03:00 Link to Asia/Riyadh
YT -1247+04514 Indian/Mayotte +03:00 +03:00 Link to Africa/Nairobi
Iran +03:30 +04:30 Link to Asia/Tehran
IR +3540+05126 Asia/Tehran +03:30 +04:30
Etc/GMT-4 +04:00 +04:00 Sign is intentionally inverted. See the Etc area description.
AE +2518+05518 Asia/Dubai +04:00 +04:00
AM +4011+04430 Asia/Yerevan +04:00 +04:00
AZ +4023+04951 Asia/Baku +04:00 +04:00
GE +4143+04449 Asia/Tbilisi +04:00 +04:00
MU -2010+05730 Indian/Mauritius +04:00 +04:00
OM +2336+05835 Asia/Muscat +04:00 +04:00 Link to Asia/Dubai
RE -2052+05528 Indian/Reunion +04:00 +04:00
RU +4621+04803 Europe/Astrakhan MSK+01 - Astrakhan +04:00 +04:00
RU +5312+05009 Europe/Samara MSK+01 - Samara, Udmurtia +04:00 +04:00
RU +5134+04602 Europe/Saratov MSK+01 - Saratov +04:00 +04:00
RU +5420+04824 Europe/Ulyanovsk MSK+01 - Ulyanovsk +04:00 +04:00
SC -0440+05528 Indian/Mahe +04:00 +04:00
AF +3431+06912 Asia/Kabul +04:30 +04:30
Asia/Ashkhabad +05:00 +05:00 Link to Asia/Ashgabat
Etc/GMT-5 +05:00 +05:00 Sign is intentionally inverted. See the Etc area description.
AQ -6736+06253 Antarctica/Mawson Mawson +05:00 +05:00
KZ +4431+05016 Asia/Aqtau Mangghystau/Mankistau +05:00 +05:00
KZ +5017+05710 Asia/Aqtobe Aqtobe/Aktobe +05:00 +05:00
KZ +4707+05156 Asia/Atyrau Atyrau/Atirau/Gur'yev +05:00 +05:00
KZ +5113+05121 Asia/Oral West Kazakhstan +05:00 +05:00
MV +0410+07330 Indian/Maldives +05:00 +05:00
PK +2452+06703 Asia/Karachi +05:00 +05:00
RU +5651+06036 Asia/Yekaterinburg MSK+02 - Urals +05:00 +05:00
TF -492110+0701303 Indian/Kerguelen +05:00 +05:00
TJ +3835+06848 Asia/Dushanbe +05:00 +05:00
TM +3757+05823 Asia/Ashgabat +05:00 +05:00
UZ +3940+06648 Asia/Samarkand Uzbekistan (west) +05:00 +05:00
UZ +4120+06918 Asia/Tashkent Uzbekistan (east) +05:00 +05:00
Asia/Calcutta +05:30 +05:30 Link to Asia/Kolkata
IN +2232+08822 Asia/Kolkata +05:30 +05:30 Note: Different zones in history, see Time in India.
LK +0656+07951 Asia/Colombo +05:30 +05:30
Asia/Katmandu +05:45 +05:45 Link to Asia/Kathmandu
NP +2743+08519 Asia/Kathmandu +05:45 +05:45
Asia/Dacca +06:00 +06:00 Link to Asia/Dhaka
Asia/Kashgar +06:00 +06:00 Link to Asia/Urumqi[note 1]
Asia/Thimbu +06:00 +06:00 Link to Asia/Thimphu
Etc/GMT-6 +06:00 +06:00 Sign is intentionally inverted. See the Etc area description.
AQ -7824+10654 Antarctica/Vostok Vostok +06:00 +06:00
BD +2343+09025 Asia/Dhaka +06:00 +06:00
BT +2728+08939 Asia/Thimphu +06:00 +06:00
CN +4348+08735 Asia/Urumqi Xinjiang Time +06:00 +06:00 Covering historic Sinkiang-Tibet time zone.[note 2]
IO -0720+07225 Indian/Chagos +06:00 +06:00
KG +4254+07436 Asia/Bishkek +06:00 +06:00
KZ +4315+07657 Asia/Almaty Kazakhstan (most areas) +06:00 +06:00
KZ +4448+06528 Asia/Qyzylorda Qyzylorda/Kyzylorda/Kzyl-Orda +06:00 +06:00
RU +5500+07324 Asia/Omsk MSK+03 - Omsk +06:00 +06:00
Asia/Rangoon +06:30 +06:30 Link to Asia/Yangon
CC -1210+09655 Indian/Cocos +06:30 +06:30
MM +1647+09610 Asia/Yangon +06:30 +06:30
Asia/Saigon +07:00 +07:00 Link to Asia/Ho_Chi_Minh
Etc/GMT-7 +07:00 +07:00 Sign is intentionally inverted. See the Etc area description.
AQ -6835+07758 Antarctica/Davis Davis +07:00 +07:00
CX -1025+10543 Indian/Christmas +07:00 +07:00
ID -0610+10648 Asia/Jakarta Java, Sumatra +07:00 +07:00
ID -0002+10920 Asia/Pontianak Borneo (west, central) +07:00 +07:00
KH +1133+10455 Asia/Phnom_Penh +07:00 +07:00 Link to Asia/Bangkok
LA +1758+10236 Asia/Vientiane +07:00 +07:00 Link to Asia/Bangkok
MN +4801+09139 Asia/Hovd Bayan-Olgiy, Govi-Altai, Hovd, Uvs, Zavkhan +07:00 +08:00
RU +5322+08345 Asia/Barnaul MSK+04 - Altai +07:00 +07:00
RU +5601+09250 Asia/Krasnoyarsk MSK+04 - Krasnoyarsk area +07:00 +07:00
RU +5345+08707 Asia/Novokuznetsk MSK+04 - Kemerovo +07:00 +07:00
RU +5502+08255 Asia/Novosibirsk MSK+04 - Novosibirsk +07:00 +07:00
RU +5630+08458 Asia/Tomsk MSK+04 - Tomsk +07:00 +07:00
TH +1345+10031 Asia/Bangkok +07:00 +07:00
VN +1045+10640 Asia/Ho_Chi_Minh +07:00 +07:00
Asia/Chongqing +08:00 +08:00 Link to Asia/Shanghai
Asia/Chungking +08:00 +08:00 Link to Asia/Shanghai
Asia/Harbin +08:00 +08:00 Link to Asia/Shanghai
Asia/Macao +08:00 +08:00 Link to Asia/Macau
Asia/Ujung_Pandang +08:00 +08:00 Link to Asia/Makassar
Asia/Ulan_Bator +08:00 +09:00 Link to Asia/Ulaanbaatar
Australia/West +08:00 +08:00 Link to Australia/Perth
Etc/GMT-8 +08:00 +08:00 Sign is intentionally inverted. See the Etc area description.
Hongkong +08:00 +08:00 Link to Asia/Hong_Kong
PRC +08:00 +08:00 Link to Asia/Shanghai
ROC +08:00 +08:00 Link to Asia/Taipei
Singapore +08:00 +08:00 Link to Asia/Singapore
AU -3157+11551 Australia/Perth Western Australia (most areas) +08:00 +08:00
BN +0456+11455 Asia/Brunei +08:00 +08:00
CN +3114+12128 Asia/Shanghai Beijing Time +08:00 +08:00 Covering historic Chungyuan time zone.
HK +2217+11409 Asia/Hong_Kong +08:00 +08:00
ID -0507+11924 Asia/Makassar Borneo (east, south); Sulawesi/Celebes, Bali, Nusa Tengarra; Timor (west) +08:00 +08:00
MN +4804+11430 Asia/Choibalsan Dornod, Sukhbaatar +08:00 +09:00
MN +4755+10653 Asia/Ulaanbaatar Mongolia (most areas) +08:00 +09:00
MO +2214+11335 Asia/Macau +08:00 +08:00
MY +0310+10142 Asia/Kuala_Lumpur Malaysia (peninsula) +08:00 +08:00
MY +0133+11020 Asia/Kuching Sabah, Sarawak +08:00 +08:00
PH +1435+12100 Asia/Manila +08:00 +08:00
RU +5216+10420 Asia/Irkutsk MSK+05 - Irkutsk, Buryatia +08:00 +08:00
SG +0117+10351 Asia/Singapore +08:00 +08:00
TW +2503+12130 Asia/Taipei +08:00 +08:00
KP +3901+12545 Asia/Pyongyang +08:30 +08:30
AU -3143+12852 Australia/Eucla Western Australia (Eucla) +08:45 +08:45
Etc/GMT-9 +09:00 +09:00 Sign is intentionally inverted. See the Etc area description.
Japan +09:00 +09:00 Link to Asia/Tokyo
ROK +09:00 +09:00 Link to Asia/Seoul
ID -0232+14042 Asia/Jayapura New Guinea (West Papua / Irian Jaya); Malukus/Moluccas +09:00 +09:00
JP +353916+1394441 Asia/Tokyo +09:00 +09:00
KR +3733+12658 Asia/Seoul +09:00 +09:00
PW +0720+13429 Pacific/Palau +09:00 +09:00
RU +5203+11328 Asia/Chita MSK+06 - Zabaykalsky +09:00 +09:00
RU +623923+1353314 Asia/Khandyga MSK+06 - Tomponsky, Ust-Maysky +09:00 +09:00
RU +6200+12940 Asia/Yakutsk MSK+06 - Lena River +09:00 +09:00
TL -0833+12535 Asia/Dili +09:00 +09:00
Australia/North +09:30 +09:30 Link to Australia/Darwin
Australia/South +09:30 +10:30 Link to Australia/Adelaide
Australia/Yancowinna +09:30 +10:30 Link to Australia/Broken_Hill
AU -3455+13835 Australia/Adelaide South Australia +09:30 +10:30
AU -3157+14127 Australia/Broken_Hill New South Wales (Yancowinna) +09:30 +10:30
AU -1228+13050 Australia/Darwin Northern Territory +09:30 +09:30
Australia/ACT +10:00 +11:00 Link to Australia/Sydney
Australia/Canberra +10:00 +11:00 Link to Australia/Sydney
Australia/NSW +10:00 +11:00 Link to Australia/Sydney
Australia/Queensland +10:00 +10:00 Link to Australia/Brisbane
Australia/Tasmania +10:00 +11:00 Link to Australia/Hobart
Australia/Victoria +10:00 +11:00 Link to Australia/Melbourne
Etc/GMT-10 +10:00 +10:00 Sign is intentionally inverted. See the Etc area description.
Pacific/Truk +10:00 +10:00 Link to Pacific/Chuuk
Pacific/Yap +10:00 +10:00 Link to Pacific/Chuuk
AQ -6640+14001 Antarctica/DumontDUrville Dumont-d'Urville +10:00 +10:00
AU -2728+15302 Australia/Brisbane Queensland (most areas) +10:00 +10:00
AU -3956+14352 Australia/Currie Tasmania (King Island) +10:00 +11:00
AU -4253+14719 Australia/Hobart Tasmania (most areas) +10:00 +11:00
AU -2016+14900 Australia/Lindeman Queensland (Whitsunday Islands) +10:00 +10:00
AU -3749+14458 Australia/Melbourne Victoria +10:00 +11:00
AU -3352+15113 Australia/Sydney New South Wales (most areas) +10:00 +11:00
FM +0725+15147 Pacific/Chuuk Chuuk/Truk, Yap +10:00 +10:00
GU +1328+14445 Pacific/Guam +10:00 +10:00
MP +1512+14545 Pacific/Saipan +10:00 +10:00 Link to Pacific/Guam
PG -0930+14710 Pacific/Port_Moresby Papua New Guinea (most areas) +10:00 +10:00
RU +643337+1431336 Asia/Ust-Nera MSK+07 - Oymyakonsky +10:00 +10:00
RU +4310+13156 Asia/Vladivostok MSK+07 - Amur River +10:00 +10:00
Australia/LHI +10:30 +11:00 Link to Australia/Lord_Howe
AU -3133+15905 Australia/Lord_Howe Lord Howe Island +10:30 +11:00
Etc/GMT-11 +11:00 +11:00 Sign is intentionally inverted. See the Etc area description.
Pacific/Ponape +11:00 +11:00 Link to Pacific/Pohnpei
AQ -6617+11031 Antarctica/Casey Casey +11:00 +11:00
AU -5430+15857 Antarctica/Macquarie Macquarie Island +11:00 +11:00
FM +0519+16259 Pacific/Kosrae Kosrae +11:00 +11:00
FM +0658+15813 Pacific/Pohnpei Pohnpei/Ponape +11:00 +11:00
NC -2216+16627 Pacific/Noumea +11:00 +11:00
NF -2903+16758 Pacific/Norfolk +11:00 +11:00
PG -0613+15534 Pacific/Bougainville Bougainville +11:00 +11:00
RU +5934+15048 Asia/Magadan MSK+08 - Magadan +11:00 +11:00
RU +4658+14242 Asia/Sakhalin MSK+08 - Sakhalin Island +11:00 +11:00
RU +6728+15343 Asia/Srednekolymsk MSK+08 - Sakha (E); North Kuril Is +11:00 +11:00
SB -0932+16012 Pacific/Guadalcanal +11:00 +11:00
VU -1740+16825 Pacific/Efate +11:00 +11:00
Antarctica/South_Pole +12:00 +13:00 Link to Pacific/Auckland
Etc/GMT-12 +12:00 +12:00 Sign is intentionally inverted. See the Etc area description.
Kwajalein +12:00 +12:00 Link to Pacific/Kwajalein
NZ +12:00 +13:00 Link to Pacific/Auckland
AQ -7750+16636 Antarctica/McMurdo New Zealand time - McMurdo, South Pole +12:00 +13:00 Link to Pacific/Auckland
FJ -1808+17825 Pacific/Fiji +12:00 +13:00
KI +0125+17300 Pacific/Tarawa Gilbert Islands +12:00 +12:00
MH +0905+16720 Pacific/Kwajalein Kwajalein +12:00 +12:00
MH +0709+17112 Pacific/Majuro Marshall Islands (most areas) +12:00 +12:00
NR -0031+16655 Pacific/Nauru +12:00 +12:00
NZ -3652+17446 Pacific/Auckland New Zealand (most areas) +12:00 +13:00
RU +6445+17729 Asia/Anadyr MSK+09 - Bering Sea +12:00 +12:00
RU +5301+15839 Asia/Kamchatka MSK+09 - Kamchatka +12:00 +12:00
TV -0831+17913 Pacific/Funafuti +12:00 +12:00
UM +1917+16637 Pacific/Wake Wake Island +12:00 +12:00
WF -1318-17610 Pacific/Wallis +12:00 +12:00
NZ-CHAT +12:45 +13:45 Link to Pacific/Chatham
NZ -4357-17633 Pacific/Chatham Chatham Islands +12:45 +13:45
Etc/GMT-13 +13:00 +13:00 Sign is intentionally inverted. See the Etc area description.
KI -0308-17105 Pacific/Enderbury Phoenix Islands +13:00 +13:00
TK -0922-17114 Pacific/Fakaofo +13:00 +13:00
TO -2110-17510 Pacific/Tongatapu +13:00 +14:00
WS -1350-17144 Pacific/Apia +13:00 +14:00
Etc/GMT-14 +14:00 +14:00 Sign is intentionally inverted. See the Etc area description.
KI +0152-15720 Pacific/Kiritimati Line Islands +14:00 +14:00
Etc/GMT+1 -01:00 -01:00 Sign is intentionally inverted. See the Etc area description.
CV +1455-02331 Atlantic/Cape_Verde -01:00 -01:00
GL +7029-02158 America/Scoresbysund Scoresbysund/Ittoqqortoormiit -01:00 +00:00
PT +3744-02540 Atlantic/Azores Azores -01:00 +00:00
Brazil/DeNoronha -02:00 -02:00 Link to America/Noronha
Etc/GMT+2 -02:00 -02:00 Sign is intentionally inverted. See the Etc area description.
BR -0351-03225 America/Noronha Atlantic islands -02:00 -02:00
GS -5416-03632 Atlantic/South_Georgia -02:00 -02:00
America/Argentina/ComodRivadavia -03:00 -03:00 Link to America/Argentina/Catamarca
America/Buenos_Aires -03:00 -03:00 Link to America/Argentina/Buenos_Aires
America/Catamarca -03:00 -03:00 Link to America/Argentina/Catamarca
America/Cordoba -03:00 -03:00 Link to America/Argentina/Cordoba
America/Jujuy -03:00 -03:00 Link to America/Argentina/Jujuy
America/Mendoza -03:00 -03:00 Link to America/Argentina/Mendoza
America/Rosario -03:00 -03:00 Link to America/Argentina/Cordoba
Brazil/East -03:00 -02:00 Link to America/Sao_Paulo
Etc/GMT+3 -03:00 -03:00 Sign is intentionally inverted. See the Etc area description.
AQ -6734-06808 Antarctica/Rothera Rothera -03:00 -03:00
AR -3436-05827 America/Argentina/Buenos_Aires Buenos Aires (BA, CF) -03:00 -03:00
AR -2828-06547 America/Argentina/Catamarca Catamarca (CT); Chubut (CH) -03:00 -03:00
AR -3124-06411 America/Argentina/Cordoba Argentina (most areas: CB, CC, CN, ER, FM, MN, SE, SF) -03:00 -03:00
AR -2411-06518 America/Argentina/Jujuy Jujuy (JY) -03:00 -03:00
AR -2926-06651 America/Argentina/La_Rioja La Rioja (LR) -03:00 -03:00
AR -3253-06849 America/Argentina/Mendoza Mendoza (MZ) -03:00 -03:00
AR -5138-06913 America/Argentina/Rio_Gallegos Santa Cruz (SC) -03:00 -03:00
AR -2447-06525 America/Argentina/Salta Salta (SA, LP, NQ, RN) -03:00 -03:00
AR -3132-06831 America/Argentina/San_Juan San Juan (SJ) -03:00 -03:00
AR -3319-06621 America/Argentina/San_Luis San Luis (SL) -03:00 -03:00
AR -2649-06513 America/Argentina/Tucuman Tucuman (TM) -03:00 -03:00
AR -5448-06818 America/Argentina/Ushuaia Tierra del Fuego (TF) -03:00 -03:00
BR -0712-04812 America/Araguaina Tocantins -03:00 -03:00
BR -1259-03831 America/Bahia Bahia -03:00 -03:00
BR -0127-04829 America/Belem Para (east); Amapa -03:00 -03:00
BR -0343-03830 America/Fortaleza Brazil (northeast: MA, PI, CE, RN, PB) -03:00 -03:00
BR -0940-03543 America/Maceio Alagoas, Sergipe -03:00 -03:00
BR -0803-03454 America/Recife Pernambuco -03:00 -03:00
BR -0226-05452 America/Santarem Para (west) -03:00 -03:00
BR -2332-04637 America/Sao_Paulo Brazil (southeast: GO, DF, MG, ES, RJ, SP, PR, SC, RS) -03:00 -02:00
FK -5142-05751 Atlantic/Stanley -03:00 -03:00
GF +0456-05220 America/Cayenne -03:00 -03:00
GL +6411-05144 America/Godthab Greenland (most areas) -03:00 -02:00
PM +4703-05620 America/Miquelon -03:00 -02:00
SR +0550-05510 America/Paramaribo -03:00 -03:00
UY -3453-05611 America/Montevideo -03:00 -03:00
Canada/Newfoundland -03:30 -02:30 Link to America/St_Johns
CA +4734-05243 America/St_Johns Newfoundland; Labrador (southeast) -03:30 -02:30
America/Virgin -04:00 -04:00 Link to America/Port_of_Spain
Brazil/West -04:00 -04:00 Link to America/Manaus
Canada/Atlantic -04:00 -03:00 Link to America/Halifax
Chile/Continental -04:00 -03:00 Link to America/Santiago
Etc/GMT+4 -04:00 -04:00 Sign is intentionally inverted. See the Etc area description.
AG +1703-06148 America/Antigua -04:00 -04:00 Link to America/Port_of_Spain
AI +1812-06304 America/Anguilla -04:00 -04:00 Link to America/Port_of_Spain
AQ -6448-06406 Antarctica/Palmer Palmer -04:00 -03:00
AW +1230-06958 America/Aruba -04:00 -04:00 Link to America/Curacao
BB +1306-05937 America/Barbados -04:00 -04:00
BL +1753-06251 America/St_Barthelemy -04:00 -04:00 Link to America/Port_of_Spain
BM +3217-06446 Atlantic/Bermuda -04:00 -03:00
BO -1630-06809 America/La_Paz -04:00 -04:00
BQ +120903-0681636 America/Kralendijk -04:00 -04:00 Link to America/Curacao
BR +0249-06040 America/Boa_Vista Roraima -04:00 -04:00
BR -2027-05437 America/Campo_Grande Mato Grosso do Sul -04:00 -03:00
BR -1535-05605 America/Cuiaba Mato Grosso -04:00 -03:00
BR -0308-06001 America/Manaus Amazonas (east) -04:00 -04:00
BR -0846-06354 America/Porto_Velho Rondonia -04:00 -04:00
CA +5125-05707 America/Blanc-Sablon AST - QC (Lower North Shore) -04:00 -04:00
CA +4612-05957 America/Glace_Bay Atlantic - NS (Cape Breton) -04:00 -03:00
CA +5320-06025 America/Goose_Bay Atlantic - Labrador (most areas) -04:00 -03:00
CA +4439-06336 America/Halifax Atlantic - NS (most areas); PE -04:00 -03:00
CA +4606-06447 America/Moncton Atlantic - New Brunswick -04:00 -03:00
CL -3327-07040 America/Santiago Chile (most areas) -04:00 -03:00
CW +1211-06900 America/Curacao -04:00 -04:00
DM +1518-06124 America/Dominica -04:00 -04:00 Link to America/Port_of_Spain
DO +1828-06954 America/Santo_Domingo -04:00 -04:00
GD +1203-06145 America/Grenada -04:00 -04:00 Link to America/Port_of_Spain
GL +7634-06847 America/Thule Thule/Pituffik -04:00 -03:00
GP +1614-06132 America/Guadeloupe -04:00 -04:00 Link to America/Port_of_Spain
GY +0648-05810 America/Guyana -04:00 -04:00
KN +1718-06243 America/St_Kitts -04:00 -04:00 Link to America/Port_of_Spain
LC +1401-06100 America/St_Lucia -04:00 -04:00 Link to America/Port_of_Spain
MF +1804-06305 America/Marigot -04:00 -04:00 Link to America/Port_of_Spain
MQ +1436-06105 America/Martinique -04:00 -04:00
MS +1643-06213 America/Montserrat -04:00 -04:00 Link to America/Port_of_Spain
PR +182806-0660622 America/Puerto_Rico -04:00 -04:00
PY -2516-05740 America/Asuncion -04:00 -03:00
SX +180305-0630250 America/Lower_Princes -04:00 -04:00 Link to America/Curacao
TC +2128-07108 America/Grand_Turk -04:00 -04:00
TT +1039-06131 America/Port_of_Spain -04:00 -04:00
VC +1309-06114 America/St_Vincent -04:00 -04:00 Link to America/Port_of_Spain
VE +1030-06656 America/Caracas -04:00 -04:00
VG +1827-06437 America/Tortola -04:00 -04:00 Link to America/Port_of_Spain
VI +1821-06456 America/St_Thomas -04:00 -04:00 Link to America/Port_of_Spain
America/Coral_Harbour -05:00 -05:00 Link to America/Atikokan
America/Fort_Wayne -05:00 -04:00 Link to America/Indiana/Indianapolis
America/Indianapolis -05:00 -04:00 Link to America/Indiana/Indianapolis
America/Louisville -05:00 -04:00 Link to America/Kentucky/Louisville
America/Montreal -05:00 -04:00 Link to America/Toronto
America/Porto_Acre -05:00 -05:00 Link to America/Rio_Branco
Brazil/Acre -05:00 -05:00 Link to America/Rio_Branco
Canada/Eastern -05:00 -04:00 Link to America/Toronto
Cuba -05:00 -04:00 Link to America/Havana
EST -05:00 -05:00
EST5EDT -05:00 -04:00
Etc/GMT+5 -05:00 -05:00 Sign is intentionally inverted. See the Etc area description.
Jamaica -05:00 -05:00 Link to America/Jamaica
US/Eastern -05:00 -04:00 Link to America/New_York
US/East-Indiana -05:00 -04:00 Link to America/Indiana/Indianapolis
US/Michigan -05:00 -04:00 Link to America/Detroit
BR -0640-06952 America/Eirunepe Amazonas (west) -05:00 -05:00
BR -0958-06748 America/Rio_Branco Acre -05:00 -05:00
BS +2505-07721 America/Nassau -05:00 -04:00
CA +484531-0913718 America/Atikokan EST - ON (Atikokan); NU (Coral H) -05:00 -05:00
CA +6344-06828 America/Iqaluit Eastern - NU (most east areas) -05:00 -04:00
CA +4901-08816 America/Nipigon Eastern - ON, QC (no DST 1967-73) -05:00 -04:00
CA +6608-06544 America/Pangnirtung Eastern - NU (Pangnirtung) -05:00 -04:00
CA +4823-08915 America/Thunder_Bay Eastern - ON (Thunder Bay) -05:00 -04:00
CA +4339-07923 America/Toronto Eastern - ON, QC (most areas) -05:00 -04:00
CO +0436-07405 America/Bogota -05:00 -05:00
CU +2308-08222 America/Havana -05:00 -04:00
EC -0210-07950 America/Guayaquil Ecuador (mainland) -05:00 -05:00
HT +1832-07220 America/Port-au-Prince -05:00 -05:00
JM +175805-0764736 America/Jamaica -05:00 -05:00
KY +1918-08123 America/Cayman -05:00 -05:00 Link to America/Panama
MX +2105-08646 America/Cancun Eastern Standard Time - Quintana Roo -05:00 -05:00
PA +0858-07932 America/Panama -05:00 -05:00
PE -1203-07703 America/Lima -05:00 -05:00
US +421953-0830245 America/Detroit Eastern - MI (most areas) -05:00 -04:00
US +394606-0860929 America/Indiana/Indianapolis Eastern - IN (most areas) -05:00 -04:00
US +382232-0862041 America/Indiana/Marengo Eastern - IN (Crawford) -05:00 -04:00
US +382931-0871643 America/Indiana/Petersburg Eastern - IN (Pike) -05:00 -04:00
US +384452-0850402 America/Indiana/Vevay Eastern - IN (Switzerland) -05:00 -04:00
US +384038-0873143 America/Indiana/Vincennes Eastern - IN (Da, Du, K, Mn) -05:00 -04:00
US +410305-0863611 America/Indiana/Winamac Eastern - IN (Pulaski) -05:00 -04:00
US +381515-0854534 America/Kentucky/Louisville Eastern - KY (Louisville area) -05:00 -04:00
US +364947-0845057 America/Kentucky/Monticello Eastern - KY (Wayne) -05:00 -04:00
US +404251-0740023 America/New_York Eastern (most areas) -05:00 -04:00
America/Knox_IN -06:00 -05:00 Link to America/Indiana/Knox
Canada/Central -06:00 -05:00 Link to America/Winnipeg
Canada/East-Saskatchewan -06:00 -06:00 Link to America/Regina
Canada/Saskatchewan -06:00 -06:00 Link to America/Regina
Chile/EasterIsland -06:00 -05:00 Link to Pacific/Easter
CST6CDT -06:00 -05:00
Etc/GMT+6 -06:00 -06:00 Sign is intentionally inverted. See the Etc area description.
Mexico/General -06:00 -05:00 Link to America/Mexico_City
US/Central -06:00 -05:00 Link to America/Chicago
US/Indiana-Starke -06:00 -05:00 Link to America/Indiana/Knox
BZ +1730-08812 America/Belize -06:00 -06:00
CA +4843-09434 America/Rainy_River Central - ON (Rainy R, Ft Frances) -06:00 -05:00
CA +6249-0920459 America/Rankin_Inlet Central - NU (central) -06:00 -05:00
CA +5024-10439 America/Regina CST - SK (most areas) -06:00 -06:00
CA +744144-0944945 America/Resolute Central - NU (Resolute) -06:00 -05:00
CA +5017-10750 America/Swift_Current CST - SK (midwest) -06:00 -06:00
CA +4953-09709 America/Winnipeg Central - ON (west); Manitoba -06:00 -05:00
CL -2709-10926 Pacific/Easter Easter Island -06:00 -05:00
CR +0956-08405 America/Costa_Rica -06:00 -06:00
EC -0054-08936 Pacific/Galapagos Galapagos Islands -06:00 -06:00
GT +1438-09031 America/Guatemala -06:00 -06:00
HN +1406-08713 America/Tegucigalpa -06:00 -06:00
MX +2048-10515 America/Bahia_Banderas Central Time - Bahia de Banderas -06:00 -05:00
MX +2550-09730 America/Matamoros Central Time US - Coahuila, Nuevo Leon, Tamaulipas (US border) -06:00 -05:00
MX +2058-08937 America/Merida Central Time - Campeche, Yucatan -06:00 -05:00
MX +1924-09909 America/Mexico_City Central Time -06:00 -05:00
MX +2540-10019 America/Monterrey Central Time - Durango; Coahuila, Nuevo Leon, Tamaulipas (most areas) -06:00 -05:00
NI +1209-08617 America/Managua -06:00 -06:00
SV +1342-08912 America/El_Salvador -06:00 -06:00
US +4151-08739 America/Chicago Central (most areas) -06:00 -05:00
US +411745-0863730 America/Indiana/Knox Central - IN (Starke) -06:00 -05:00
US +375711-0864541 America/Indiana/Tell_City Central - IN (Perry) -06:00 -05:00
US +450628-0873651 America/Menominee Central - MI (Wisconsin border) -06:00 -05:00
US +471551-1014640 America/North_Dakota/Beulah Central - ND (Mercer) -06:00 -05:00
US +470659-1011757 America/North_Dakota/Center Central - ND (Oliver) -06:00 -05:00
US +465042-1012439 America/North_Dakota/New_Salem Central - ND (Morton rural) -06:00 -05:00
America/Shiprock -07:00 -06:00 Link to America/Denver
Canada/Mountain -07:00 -06:00 Link to America/Edmonton
Etc/GMT+7 -07:00 -07:00 Sign is intentionally inverted. See the Etc area description.
Mexico/BajaSur -07:00 -06:00 Link to America/Mazatlan
MST -07:00 -07:00
MST7MDT -07:00 -06:00
Navajo -07:00 -06:00 Link to America/Denver
US/Arizona -07:00 -07:00 Link to America/Phoenix
US/Mountain -07:00 -06:00 Link to America/Denver
CA +690650-1050310 America/Cambridge_Bay Mountain - NU (west) -07:00 -06:00
CA +4906-11631 America/Creston MST - BC (Creston) -07:00 -07:00
CA +5946-12014 America/Dawson_Creek MST - BC (Dawson Cr, Ft St John) -07:00 -07:00
CA +5333-11328 America/Edmonton Mountain - AB; BC (E); SK (W) -07:00 -06:00
CA +5848-12242 America/Fort_Nelson MST - BC (Ft Nelson) -07:00 -07:00
CA +682059-13343 America/Inuvik Mountain - NT (west) -07:00 -06:00
CA +6227-11421 America/Yellowknife Mountain - NT (central) -07:00 -06:00
MX +2838-10605 America/Chihuahua Mountain Time - Chihuahua (most areas) -07:00 -06:00
MX +2904-11058 America/Hermosillo Mountain Standard Time - Sonora -07:00 -07:00
MX +2313-10625 America/Mazatlan Mountain Time - Baja California Sur, Nayarit, Sinaloa -07:00 -06:00
MX +2934-10425 America/Ojinaga Mountain Time US - Chihuahua (US border) -07:00 -06:00
US +433649-1161209 America/Boise Mountain - ID (south); OR (east) -07:00 -06:00
US +394421-1045903 America/Denver Mountain (most areas) -07:00 -06:00
US +332654-1120424 America/Phoenix MST - Arizona (except Navajo) -07:00 -07:00
America/Ensenada -08:00 -07:00 Link to America/Tijuana
America/Santa_Isabel -08:00 -07:00 Link to America/Tijuana
Canada/Pacific -08:00 -07:00 Link to America/Vancouver
Canada/Yukon -08:00 -07:00 Link to America/Whitehorse
Etc/GMT+8 -08:00 -08:00 Sign is intentionally inverted. See the Etc area description.
Mexico/BajaNorte -08:00 -07:00 Link to America/Tijuana
PST8PDT -08:00 -07:00
US/Pacific -08:00 -07:00 Link to America/Los_Angeles
US/Pacific-New -08:00 -07:00 Link to America/Los_Angeles
CA +6404-13925 America/Dawson Pacific - Yukon (north) -08:00 -07:00
CA +4916-12307 America/Vancouver Pacific - BC (most areas) -08:00 -07:00
CA +6043-13503 America/Whitehorse Pacific - Yukon (south) -08:00 -07:00
MX +3232-11701 America/Tijuana Pacific Time US - Baja California -08:00 -07:00
PN -2504-13005 Pacific/Pitcairn -08:00 -08:00
US +340308-1181434 America/Los_Angeles Pacific -08:00 -07:00
Etc/GMT+9 -09:00 -09:00 Sign is intentionally inverted. See the Etc area description.
US/Alaska -09:00 -08:00 Link to America/Anchorage
PF -2308-13457 Pacific/Gambier Gambier Islands -09:00 -09:00
US +611305-1495401 America/Anchorage Alaska (most areas) -09:00 -08:00
US +581807-1342511 America/Juneau Alaska - Juneau area -09:00 -08:00
US +550737-1313435 America/Metlakatla Alaska - Annette Island -09:00 -08:00
US +643004-1652423 America/Nome Alaska (west) -09:00 -08:00
US +571035-1351807 America/Sitka Alaska - Sitka area -09:00 -08:00
US +593249-1394338 America/Yakutat Alaska - Yakutat -09:00 -08:00
PF -0900-13930 Pacific/Marquesas Marquesas Islands -09:30 -09:30
America/Atka -10:00 -09:00 Link to America/Adak
Etc/GMT+10 -10:00 -10:00 Sign is intentionally inverted. See the Etc area description.
HST -10:00 -10:00
US/Aleutian -10:00 -09:00 Link to America/Adak
US/Hawaii -10:00 -10:00 Link to Pacific/Honolulu
CK -2114-15946 Pacific/Rarotonga -10:00 -10:00
PF -1732-14934 Pacific/Tahiti Society Islands -10:00 -10:00
UM +1645-16931 Pacific/Johnston Johnston Atoll -10:00 -10:00 Link to Pacific/Honolulu
US +515248-1763929 America/Adak Aleutian Islands -10:00 -09:00
US +211825-1575130 Pacific/Honolulu Hawaii -10:00 -10:00
Etc/GMT+11 -11:00 -11:00 Sign is intentionally inverted. See the Etc area description.
Pacific/Samoa -11:00 -11:00 Link to Pacific/Pago_Pago
US/Samoa -11:00 -11:00 Link to Pacific/Pago_Pago
AS -1416-17042 Pacific/Pago_Pago -11:00 -11:00
NU -1901-16955 Pacific/Niue -11:00 -11:00
UM +2813-17722 Pacific/Midway Midway Islands -11:00 -11:00 Link to Pacific/Pago_Pago
Etc/GMT+12 -12:00 -12:00 Sign is intentionally inverted. See the Etc area description.
@dmarcelino
Copy link
Author

dmarcelino commented Feb 10, 2017

After some googling I couldn't find a good compromise for a timezone list, either they were too large (tz database has 592) or too small (some solutions disregard Daylight Time Savings (DST) or timezones ending in :30 or :45), hence this script. This script takes the wikipedia tz database table, and conflates it to a list indexed both by UTC offset and UTC DST offset, removing any overlapping timezones. The result is 57 timezones.

  • get_timezone_compact_list.py: Simple script to reduce the extensive IANA timezone list to a compact one, featuring
    all timezones with and without Daylight Time Saving. Takes a csv as input;
  • tzdata2016.csv: wikipedia tz database table converted to csv;
  • compact_timezone_list.json: the resulting reduced json, useful if you can't run the python script;
  • compact_timezone_list.html: the resulting reduced html select statement which can be used in forms.

This script outputs are meant to be further edited according to your preferences before being included in a project.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment