Last active
July 5, 2016 22:10
-
-
Save danharper/a4c7e820f0a28b03e65b to your computer and use it in GitHub Desktop.
Generates a list of all timezone identifiers, with their offset & made (slightly) more human-readable
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// formatted for a <select> box - keys and human-readable values | |
[ | |
"Pacific/Niue" => "UTC-11:00 (Niue, Pacific)", | |
"Pacific/Pago_Pago" => "UTC-11:00 (Pago Pago, Pacific)", | |
"Pacific/Midway" => "UTC-11:00 (Midway, Pacific)", | |
"Pacific/Honolulu" => "UTC-10:00 (Honolulu, Pacific)", | |
"America/Adak" => "UTC-10:00 (Adak, America)", | |
"Pacific/Tahiti" => "UTC-10:00 (Tahiti, Pacific)", | |
"Pacific/Rarotonga" => "UTC-10:00 (Rarotonga, Pacific)", | |
"Pacific/Johnston" => "UTC-10:00 (Johnston, Pacific)", | |
"Pacific/Marquesas" => "UTC-09:30 (Marquesas, Pacific)", | |
"America/Anchorage" => "UTC-09:00 (Anchorage, America)", | |
"America/Nome" => "UTC-09:00 (Nome, America)", | |
"America/Juneau" => "UTC-09:00 (Juneau, America)", | |
"America/Yakutat" => "UTC-09:00 (Yakutat, America)", | |
"America/Sitka" => "UTC-09:00 (Sitka, America)", | |
"Pacific/Gambier" => "UTC-09:00 (Gambier, Pacific)", | |
"America/Santa_Isabel" => "UTC-08:00 (Santa Isabel, America)", | |
"Pacific/Pitcairn" => "UTC-08:00 (Pitcairn, Pacific)", | |
"America/Whitehorse" => "UTC-08:00 (Whitehorse, America)", | |
"America/Vancouver" => "UTC-08:00 (Vancouver, America)", | |
"America/Los_Angeles" => "UTC-08:00 (Los Angeles, America)", | |
"America/Tijuana" => "UTC-08:00 (Tijuana, America)", | |
"America/Dawson" => "UTC-08:00 (Dawson, America)", | |
"America/Metlakatla" => "UTC-08:00 (Metlakatla, America)", | |
"America/Inuvik" => "UTC-07:00 (Inuvik, America)", | |
"America/Hermosillo" => "UTC-07:00 (Hermosillo, America)", | |
"America/Edmonton" => "UTC-07:00 (Edmonton, America)", | |
"America/Denver" => "UTC-07:00 (Denver, America)", | |
"America/Yellowknife" => "UTC-07:00 (Yellowknife, America)", | |
"America/Mazatlan" => "UTC-07:00 (Mazatlan, America)", | |
"America/Dawson_Creek" => "UTC-07:00 (Dawson Creek, America)", | |
"America/Phoenix" => "UTC-07:00 (Phoenix, America)", | |
"America/Chihuahua" => "UTC-07:00 (Chihuahua, America)", | |
"America/Boise" => "UTC-07:00 (Boise, America)", | |
"America/Cambridge_Bay" => "UTC-07:00 (Cambridge Bay, America)", | |
"America/Creston" => "UTC-07:00 (Creston, America)", | |
"America/Ojinaga" => "UTC-07:00 (Ojinaga, America)", | |
"America/El_Salvador" => "UTC-06:00 (El Salvador, America)", | |
"America/Guatemala" => "UTC-06:00 (Guatemala, America)", | |
"America/Costa_Rica" => "UTC-06:00 (Costa Rica, America)", | |
"America/Cancun" => "UTC-06:00 (Cancun, America)", | |
"America/Belize" => "UTC-06:00 (Belize, America)", | |
"America/Matamoros" => "UTC-06:00 (Matamoros, America)", | |
"America/North_Dakota/New_Salem" => "UTC-06:00 (New Salem, North Dakota, America)", | |
"America/North_Dakota/Center" => "UTC-06:00 (Center, North Dakota, America)", | |
"America/Rainy_River" => "UTC-06:00 (Rainy River, America)", | |
"America/Rankin_Inlet" => "UTC-06:00 (Rankin Inlet, America)", | |
"America/Resolute" => "UTC-06:00 (Resolute, America)", | |
"America/Regina" => "UTC-06:00 (Regina, America)", | |
"America/North_Dakota/Beulah" => "UTC-06:00 (Beulah, North Dakota, America)", | |
"America/Monterrey" => "UTC-06:00 (Monterrey, America)", | |
"America/Managua" => "UTC-06:00 (Managua, America)", | |
"America/Indiana/Tell_City" => "UTC-06:00 (Tell City, Indiana, America)", | |
"America/Bahia_Banderas" => "UTC-06:00 (Bahia Banderas, America)", | |
"America/Menominee" => "UTC-06:00 (Menominee, America)", | |
"America/Mexico_City" => "UTC-06:00 (Mexico City, America)", | |
"America/Merida" => "UTC-06:00 (Merida, America)", | |
"America/Indiana/Knox" => "UTC-06:00 (Knox, Indiana, America)", | |
"America/Chicago" => "UTC-06:00 (Chicago, America)", | |
"America/Winnipeg" => "UTC-06:00 (Winnipeg, America)", | |
"America/Swift_Current" => "UTC-06:00 (Swift Current, America)", | |
"America/Tegucigalpa" => "UTC-06:00 (Tegucigalpa, America)", | |
"Pacific/Galapagos" => "UTC-06:00 (Galapagos, Pacific)", | |
"America/Indiana/Petersburg" => "UTC-05:00 (Petersburg, Indiana, America)", | |
"America/Indiana/Vevay" => "UTC-05:00 (Vevay, Indiana, America)", | |
"America/Indiana/Vincennes" => "UTC-05:00 (Vincennes, Indiana, America)", | |
"America/Indiana/Marengo" => "UTC-05:00 (Marengo, Indiana, America)", | |
"America/Indiana/Winamac" => "UTC-05:00 (Winamac, Indiana, America)", | |
"America/Havana" => "UTC-05:00 (Havana, America)", | |
"America/Eirunepe" => "UTC-05:00 (Eirunepe, America)", | |
"America/Grand_Turk" => "UTC-05:00 (Grand Turk, America)", | |
"America/Guayaquil" => "UTC-05:00 (Guayaquil, America)", | |
"America/Thunder_Bay" => "UTC-05:00 (Thunder Bay, America)", | |
"America/Indiana/Indianapolis" => "UTC-05:00 (Indianapolis, Indiana, America)", | |
"America/Iqaluit" => "UTC-05:00 (Iqaluit, America)", | |
"America/Pangnirtung" => "UTC-05:00 (Pangnirtung, America)", | |
"America/Panama" => "UTC-05:00 (Panama, America)", | |
"America/Port-au-Prince" => "UTC-05:00 (Port-au-Prince, America)", | |
"Pacific/Easter" => "UTC-05:00 (Easter, Pacific)", | |
"America/Rio_Branco" => "UTC-05:00 (Rio Branco, America)", | |
"America/Nipigon" => "UTC-05:00 (Nipigon, America)", | |
"America/New_York" => "UTC-05:00 (New York, America)", | |
"America/Kentucky/Louisville" => "UTC-05:00 (Louisville, Kentucky, America)", | |
"America/Jamaica" => "UTC-05:00 (Jamaica, America)", | |
"America/Kentucky/Monticello" => "UTC-05:00 (Monticello, Kentucky, America)", | |
"America/Lima" => "UTC-05:00 (Lima, America)", | |
"America/Nassau" => "UTC-05:00 (Nassau, America)", | |
"America/Detroit" => "UTC-05:00 (Detroit, America)", | |
"America/Toronto" => "UTC-05:00 (Toronto, America)", | |
"America/Bogota" => "UTC-05:00 (Bogota, America)", | |
"America/Atikokan" => "UTC-05:00 (Atikokan, America)", | |
"America/Cayman" => "UTC-05:00 (Cayman, America)", | |
"America/Caracas" => "UTC-04:30 (Caracas, America)", | |
"America/Port_of_Spain" => "UTC-04:00 (Port of Spain, America)", | |
"America/Barbados" => "UTC-04:00 (Barbados, America)", | |
"Atlantic/Bermuda" => "UTC-04:00 (Bermuda, Atlantic)", | |
"America/Tortola" => "UTC-04:00 (Tortola, America)", | |
"America/Boa_Vista" => "UTC-04:00 (Boa Vista, America)", | |
"America/Anguilla" => "UTC-04:00 (Anguilla, America)", | |
"America/Moncton" => "UTC-04:00 (Moncton, America)", | |
"America/Porto_Velho" => "UTC-04:00 (Porto Velho, America)", | |
"America/Blanc-Sablon" => "UTC-04:00 (Blanc-Sablon, America)", | |
"America/Aruba" => "UTC-04:00 (Aruba, America)", | |
"America/Manaus" => "UTC-04:00 (Manaus, America)", | |
"America/Marigot" => "UTC-04:00 (Marigot, America)", | |
"America/Martinique" => "UTC-04:00 (Martinique, America)", | |
"America/Lower_Princes" => "UTC-04:00 (Lower Princes, America)", | |
"America/St_Barthelemy" => "UTC-04:00 (St Barthelemy, America)", | |
"America/Halifax" => "UTC-04:00 (Halifax, America)", | |
"America/Kralendijk" => "UTC-04:00 (Kralendijk, America)", | |
"America/La_Paz" => "UTC-04:00 (La Paz, America)", | |
"America/Montserrat" => "UTC-04:00 (Montserrat, America)", | |
"America/Antigua" => "UTC-04:00 (Antigua, America)", | |
"America/Guyana" => "UTC-04:00 (Guyana, America)", | |
"America/St_Lucia" => "UTC-04:00 (St Lucia, America)", | |
"America/St_Thomas" => "UTC-04:00 (St Thomas, America)", | |
"America/Dominica" => "UTC-04:00 (Dominica, America)", | |
"America/St_Vincent" => "UTC-04:00 (St Vincent, America)", | |
"America/Santo_Domingo" => "UTC-04:00 (Santo Domingo, America)", | |
"America/Glace_Bay" => "UTC-04:00 (Glace Bay, America)", | |
"America/Curacao" => "UTC-04:00 (Curacao, America)", | |
"America/St_Kitts" => "UTC-04:00 (St Kitts, America)", | |
"America/Thule" => "UTC-04:00 (Thule, America)", | |
"America/Guadeloupe" => "UTC-04:00 (Guadeloupe, America)", | |
"America/Goose_Bay" => "UTC-04:00 (Goose Bay, America)", | |
"America/Puerto_Rico" => "UTC-04:00 (Puerto Rico, America)", | |
"America/Grenada" => "UTC-04:00 (Grenada, America)", | |
"America/St_Johns" => "UTC-03:30 (St Johns, America)", | |
"America/Argentina/Tucuman" => "UTC-03:00 (Tucuman, Argentina, America)", | |
"America/Argentina/San_Juan" => "UTC-03:00 (San Juan, Argentina, America)", | |
"America/Santarem" => "UTC-03:00 (Santarem, America)", | |
"America/Santiago" => "UTC-03:00 (Santiago, America)", | |
"America/Argentina/San_Luis" => "UTC-03:00 (San Luis, Argentina, America)", | |
"America/Argentina/Salta" => "UTC-03:00 (Salta, Argentina, America)", | |
"America/Argentina/La_Rioja" => "UTC-03:00 (La Rioja, Argentina, America)", | |
"America/Recife" => "UTC-03:00 (Recife, America)", | |
"America/Miquelon" => "UTC-03:00 (Miquelon, America)", | |
"America/Argentina/Mendoza" => "UTC-03:00 (Mendoza, Argentina, America)", | |
"America/Paramaribo" => "UTC-03:00 (Paramaribo, America)", | |
"Atlantic/Stanley" => "UTC-03:00 (Stanley, Atlantic)", | |
"America/Argentina/Jujuy" => "UTC-03:00 (Jujuy, Argentina, America)", | |
"America/Argentina/Rio_Gallegos" => "UTC-03:00 (Rio Gallegos, Argentina, America)", | |
"America/Argentina/Cordoba" => "UTC-03:00 (Cordoba, Argentina, America)", | |
"America/Argentina/Ushuaia" => "UTC-03:00 (Ushuaia, Argentina, America)", | |
"America/Araguaina" => "UTC-03:00 (Araguaina, America)", | |
"America/Belem" => "UTC-03:00 (Belem, America)", | |
"America/Argentina/Buenos_Aires" => "UTC-03:00 (Buenos Aires, Argentina, America)", | |
"America/Bahia" => "UTC-03:00 (Bahia, America)", | |
"America/Argentina/Catamarca" => "UTC-03:00 (Catamarca, Argentina, America)", | |
"America/Campo_Grande" => "UTC-03:00 (Campo Grande, America)", | |
"America/Cuiaba" => "UTC-03:00 (Cuiaba, America)", | |
"America/Cayenne" => "UTC-03:00 (Cayenne, America)", | |
"America/Fortaleza" => "UTC-03:00 (Fortaleza, America)", | |
"America/Godthab" => "UTC-03:00 (Godthab, America)", | |
"America/Asuncion" => "UTC-03:00 (Asuncion, America)", | |
"Antarctica/Palmer" => "UTC-03:00 (Palmer, Antarctica)", | |
"America/Maceio" => "UTC-03:00 (Maceio, America)", | |
"Antarctica/Rothera" => "UTC-03:00 (Rothera, Antarctica)", | |
"Atlantic/South_Georgia" => "UTC-02:00 (South Georgia, Atlantic)", | |
"America/Montevideo" => "UTC-02:00 (Montevideo, America)", | |
"America/Sao_Paulo" => "UTC-02:00 (Sao Paulo, America)", | |
"America/Noronha" => "UTC-02:00 (Noronha, America)", | |
"Atlantic/Cape_Verde" => "UTC-01:00 (Cape Verde, Atlantic)", | |
"America/Scoresbysund" => "UTC-01:00 (Scoresbysund, America)", | |
"Atlantic/Azores" => "UTC-01:00 (Azores, Atlantic)", | |
"Atlantic/Canary" => "UTC (Canary, Atlantic)", | |
"Atlantic/Reykjavik" => "UTC (Reykjavik, Atlantic)", | |
"Europe/Guernsey" => "UTC (Guernsey, Europe)", | |
"Europe/Dublin" => "UTC (Dublin, Europe)", | |
"Atlantic/Madeira" => "UTC (Madeira, Atlantic)", | |
"Europe/London" => "UTC (London, Europe)", | |
"Atlantic/Faroe" => "UTC (Faroe, Atlantic)", | |
"Atlantic/St_Helena" => "UTC (St Helena, Atlantic)", | |
"Europe/Isle_of_Man" => "UTC (Isle of Man, Europe)", | |
"Europe/Jersey" => "UTC (Jersey, Europe)", | |
"Europe/Lisbon" => "UTC (Lisbon, Europe)", | |
"Africa/Abidjan" => "UTC (Abidjan, Africa)", | |
"Antarctica/Troll" => "UTC (Troll, Antarctica)", | |
"Africa/Dakar" => "UTC (Dakar, Africa)", | |
"America/Danmarkshavn" => "UTC (Danmarkshavn, America)", | |
"Africa/Freetown" => "UTC (Freetown, Africa)", | |
"Africa/Lome" => "UTC (Lome, Africa)", | |
"Africa/Conakry" => "UTC (Conakry, Africa)", | |
"Africa/Casablanca" => "UTC (Casablanca, Africa)", | |
"Africa/Accra" => "UTC (Accra, Africa)", | |
"Africa/Bamako" => "UTC (Bamako, Africa)", | |
"Africa/Banjul" => "UTC (Banjul, Africa)", | |
"Africa/Bissau" => "UTC (Bissau, Africa)", | |
"Africa/Monrovia" => "UTC (Monrovia, Africa)", | |
"Africa/El_Aaiun" => "UTC (El Aaiun, Africa)", | |
"Africa/Sao_Tome" => "UTC (Sao Tome, Africa)", | |
"Africa/Ouagadougou" => "UTC (Ouagadougou, Africa)", | |
"Africa/Nouakchott" => "UTC (Nouakchott, Africa)", | |
"Europe/Luxembourg" => "UTC+01:00 (Luxembourg, Europe)", | |
"Europe/Madrid" => "UTC+01:00 (Madrid, Europe)", | |
"Europe/Ljubljana" => "UTC+01:00 (Ljubljana, Europe)", | |
"Africa/Tunis" => "UTC+01:00 (Tunis, Africa)", | |
"Europe/Gibraltar" => "UTC+01:00 (Gibraltar, Europe)", | |
"Africa/Ceuta" => "UTC+01:00 (Ceuta, Africa)", | |
"Europe/Malta" => "UTC+01:00 (Malta, Europe)", | |
"Europe/Prague" => "UTC+01:00 (Prague, Europe)", | |
"Europe/Rome" => "UTC+01:00 (Rome, Europe)", | |
"Europe/San_Marino" => "UTC+01:00 (San Marino, Europe)", | |
"Europe/Podgorica" => "UTC+01:00 (Podgorica, Europe)", | |
"Europe/Paris" => "UTC+01:00 (Paris, Europe)", | |
"Europe/Monaco" => "UTC+01:00 (Monaco, Europe)", | |
"Europe/Oslo" => "UTC+01:00 (Oslo, Europe)", | |
"Europe/Zurich" => "UTC+01:00 (Zurich, Europe)", | |
"Europe/Copenhagen" => "UTC+01:00 (Copenhagen, Europe)", | |
"Africa/Niamey" => "UTC+01:00 (Niamey, Africa)", | |
"Africa/Ndjamena" => "UTC+01:00 (Ndjamena, Africa)", | |
"Europe/Zagreb" => "UTC+01:00 (Zagreb, Europe)", | |
"Africa/Douala" => "UTC+01:00 (Douala, Africa)", | |
"Africa/Brazzaville" => "UTC+01:00 (Brazzaville, Africa)", | |
"Europe/Amsterdam" => "UTC+01:00 (Amsterdam, Europe)", | |
"Europe/Andorra" => "UTC+01:00 (Andorra, Europe)", | |
"Europe/Belgrade" => "UTC+01:00 (Belgrade, Europe)", | |
"Europe/Berlin" => "UTC+01:00 (Berlin, Europe)", | |
"Europe/Busingen" => "UTC+01:00 (Busingen, Europe)", | |
"Africa/Bangui" => "UTC+01:00 (Bangui, Africa)", | |
"Europe/Budapest" => "UTC+01:00 (Budapest, Europe)", | |
"Europe/Warsaw" => "UTC+01:00 (Warsaw, Europe)", | |
"Europe/Bratislava" => "UTC+01:00 (Bratislava, Europe)", | |
"Europe/Brussels" => "UTC+01:00 (Brussels, Europe)", | |
"Europe/Sarajevo" => "UTC+01:00 (Sarajevo, Europe)", | |
"Africa/Porto-Novo" => "UTC+01:00 (Porto-Novo, Africa)", | |
"Europe/Vatican" => "UTC+01:00 (Vatican, Europe)", | |
"Arctic/Longyearbyen" => "UTC+01:00 (Longyearbyen, Arctic)", | |
"Europe/Tirane" => "UTC+01:00 (Tirane, Europe)", | |
"Europe/Stockholm" => "UTC+01:00 (Stockholm, Europe)", | |
"Africa/Kinshasa" => "UTC+01:00 (Kinshasa, Africa)", | |
"Africa/Luanda" => "UTC+01:00 (Luanda, Africa)", | |
"Europe/Vienna" => "UTC+01:00 (Vienna, Europe)", | |
"Africa/Algiers" => "UTC+01:00 (Algiers, Africa)", | |
"Africa/Libreville" => "UTC+01:00 (Libreville, Africa)", | |
"Africa/Lagos" => "UTC+01:00 (Lagos, Africa)", | |
"Africa/Malabo" => "UTC+01:00 (Malabo, Africa)", | |
"Europe/Vaduz" => "UTC+01:00 (Vaduz, Europe)", | |
"Europe/Skopje" => "UTC+01:00 (Skopje, Europe)", | |
"Africa/Kigali" => "UTC+02:00 (Kigali, Africa)", | |
"Europe/Athens" => "UTC+02:00 (Athens, Europe)", | |
"Asia/Beirut" => "UTC+02:00 (Beirut, Asia)", | |
"Asia/Gaza" => "UTC+02:00 (Gaza, Asia)", | |
"Africa/Cairo" => "UTC+02:00 (Cairo, Africa)", | |
"Asia/Hebron" => "UTC+02:00 (Hebron, Asia)", | |
"Europe/Helsinki" => "UTC+02:00 (Helsinki, Europe)", | |
"Europe/Riga" => "UTC+02:00 (Riga, Europe)", | |
"Europe/Zaporozhye" => "UTC+02:00 (Zaporozhye, Europe)", | |
"Africa/Mbabane" => "UTC+02:00 (Mbabane, Africa)", | |
"Africa/Blantyre" => "UTC+02:00 (Blantyre, Africa)", | |
"Europe/Vilnius" => "UTC+02:00 (Vilnius, Europe)", | |
"Europe/Bucharest" => "UTC+02:00 (Bucharest, Europe)", | |
"Africa/Tripoli" => "UTC+02:00 (Tripoli, Africa)", | |
"Asia/Nicosia" => "UTC+02:00 (Nicosia, Asia)", | |
"Asia/Damascus" => "UTC+02:00 (Damascus, Asia)", | |
"Europe/Chisinau" => "UTC+02:00 (Chisinau, Europe)", | |
"Europe/Istanbul" => "UTC+02:00 (Istanbul, Europe)", | |
"Europe/Tallinn" => "UTC+02:00 (Tallinn, Europe)", | |
"Europe/Sofia" => "UTC+02:00 (Sofia, Europe)", | |
"Africa/Johannesburg" => "UTC+02:00 (Johannesburg, Africa)", | |
"Africa/Lubumbashi" => "UTC+02:00 (Lubumbashi, Africa)", | |
"Africa/Maseru" => "UTC+02:00 (Maseru, Africa)", | |
"Africa/Maputo" => "UTC+02:00 (Maputo, Africa)", | |
"Africa/Lusaka" => "UTC+02:00 (Lusaka, Africa)", | |
"Europe/Mariehamn" => "UTC+02:00 (Mariehamn, Europe)", | |
"Africa/Gaborone" => "UTC+02:00 (Gaborone, Africa)", | |
"Europe/Uzhgorod" => "UTC+02:00 (Uzhgorod, Europe)", | |
"Africa/Windhoek" => "UTC+02:00 (Windhoek, Africa)", | |
"Europe/Kiev" => "UTC+02:00 (Kiev, Europe)", | |
"Asia/Jerusalem" => "UTC+02:00 (Jerusalem, Asia)", | |
"Asia/Amman" => "UTC+02:00 (Amman, Asia)", | |
"Africa/Bujumbura" => "UTC+02:00 (Bujumbura, Africa)", | |
"Africa/Harare" => "UTC+02:00 (Harare, Africa)", | |
"Europe/Kaliningrad" => "UTC+02:00 (Kaliningrad, Europe)", | |
"Europe/Volgograd" => "UTC+03:00 (Volgograd, Europe)", | |
"Africa/Nairobi" => "UTC+03:00 (Nairobi, Africa)", | |
"Indian/Mayotte" => "UTC+03:00 (Mayotte, Indian)", | |
"Africa/Juba" => "UTC+03:00 (Juba, Africa)", | |
"Africa/Kampala" => "UTC+03:00 (Kampala, Africa)", | |
"Africa/Khartoum" => "UTC+03:00 (Khartoum, Africa)", | |
"Africa/Mogadishu" => "UTC+03:00 (Mogadishu, Africa)", | |
"Antarctica/Syowa" => "UTC+03:00 (Syowa, Antarctica)", | |
"Indian/Antananarivo" => "UTC+03:00 (Antananarivo, Indian)", | |
"Indian/Comoro" => "UTC+03:00 (Comoro, Indian)", | |
"Asia/Aden" => "UTC+03:00 (Aden, Asia)", | |
"Africa/Asmara" => "UTC+03:00 (Asmara, Africa)", | |
"Europe/Minsk" => "UTC+03:00 (Minsk, Europe)", | |
"Asia/Bahrain" => "UTC+03:00 (Bahrain, Asia)", | |
"Europe/Moscow" => "UTC+03:00 (Moscow, Europe)", | |
"Asia/Baghdad" => "UTC+03:00 (Baghdad, Asia)", | |
"Africa/Dar_es_Salaam" => "UTC+03:00 (Dar es Salaam, Africa)", | |
"Asia/Kuwait" => "UTC+03:00 (Kuwait, Asia)", | |
"Asia/Qatar" => "UTC+03:00 (Qatar, Asia)", | |
"Africa/Addis_Ababa" => "UTC+03:00 (Addis Ababa, Africa)", | |
"Europe/Simferopol" => "UTC+03:00 (Simferopol, Europe)", | |
"Asia/Riyadh" => "UTC+03:00 (Riyadh, Asia)", | |
"Africa/Djibouti" => "UTC+03:00 (Djibouti, Africa)", | |
"Asia/Tehran" => "UTC+03:30 (Tehran, Asia)", | |
"Asia/Baku" => "UTC+04:00 (Baku, Asia)", | |
"Asia/Dubai" => "UTC+04:00 (Dubai, Asia)", | |
"Indian/Mauritius" => "UTC+04:00 (Mauritius, Indian)", | |
"Europe/Samara" => "UTC+04:00 (Samara, Europe)", | |
"Asia/Muscat" => "UTC+04:00 (Muscat, Asia)", | |
"Indian/Reunion" => "UTC+04:00 (Reunion, Indian)", | |
"Indian/Mahe" => "UTC+04:00 (Mahe, Indian)", | |
"Asia/Tbilisi" => "UTC+04:00 (Tbilisi, Asia)", | |
"Asia/Yerevan" => "UTC+04:00 (Yerevan, Asia)", | |
"Asia/Kabul" => "UTC+04:30 (Kabul, Asia)", | |
"Indian/Kerguelen" => "UTC+05:00 (Kerguelen, Indian)", | |
"Asia/Tashkent" => "UTC+05:00 (Tashkent, Asia)", | |
"Asia/Ashgabat" => "UTC+05:00 (Ashgabat, Asia)", | |
"Asia/Dushanbe" => "UTC+05:00 (Dushanbe, Asia)", | |
"Asia/Karachi" => "UTC+05:00 (Karachi, Asia)", | |
"Asia/Oral" => "UTC+05:00 (Oral, Asia)", | |
"Asia/Samarkand" => "UTC+05:00 (Samarkand, Asia)", | |
"Asia/Aqtobe" => "UTC+05:00 (Aqtobe, Asia)", | |
"Indian/Maldives" => "UTC+05:00 (Maldives, Indian)", | |
"Antarctica/Mawson" => "UTC+05:00 (Mawson, Antarctica)", | |
"Asia/Yekaterinburg" => "UTC+05:00 (Yekaterinburg, Asia)", | |
"Asia/Aqtau" => "UTC+05:00 (Aqtau, Asia)", | |
"Asia/Colombo" => "UTC+05:30 (Colombo, Asia)", | |
"Asia/Kolkata" => "UTC+05:30 (Kolkata, Asia)", | |
"Asia/Kathmandu" => "UTC+05:45 (Kathmandu, Asia)", | |
"Asia/Urumqi" => "UTC+06:00 (Urumqi, Asia)", | |
"Asia/Bishkek" => "UTC+06:00 (Bishkek, Asia)", | |
"Asia/Thimphu" => "UTC+06:00 (Thimphu, Asia)", | |
"Asia/Dhaka" => "UTC+06:00 (Dhaka, Asia)", | |
"Asia/Novosibirsk" => "UTC+06:00 (Novosibirsk, Asia)", | |
"Indian/Chagos" => "UTC+06:00 (Chagos, Indian)", | |
"Asia/Qyzylorda" => "UTC+06:00 (Qyzylorda, Asia)", | |
"Antarctica/Vostok" => "UTC+06:00 (Vostok, Antarctica)", | |
"Asia/Almaty" => "UTC+06:00 (Almaty, Asia)", | |
"Asia/Omsk" => "UTC+06:00 (Omsk, Asia)", | |
"Indian/Cocos" => "UTC+06:30 (Cocos, Indian)", | |
"Asia/Rangoon" => "UTC+06:30 (Rangoon, Asia)", | |
"Asia/Ho_Chi_Minh" => "UTC+07:00 (Ho Chi Minh, Asia)", | |
"Asia/Vientiane" => "UTC+07:00 (Vientiane, Asia)", | |
"Antarctica/Davis" => "UTC+07:00 (Davis, Antarctica)", | |
"Asia/Bangkok" => "UTC+07:00 (Bangkok, Asia)", | |
"Indian/Christmas" => "UTC+07:00 (Christmas, Indian)", | |
"Asia/Hovd" => "UTC+07:00 (Hovd, Asia)", | |
"Asia/Krasnoyarsk" => "UTC+07:00 (Krasnoyarsk, Asia)", | |
"Asia/Novokuznetsk" => "UTC+07:00 (Novokuznetsk, Asia)", | |
"Asia/Phnom_Penh" => "UTC+07:00 (Phnom Penh, Asia)", | |
"Asia/Pontianak" => "UTC+07:00 (Pontianak, Asia)", | |
"Asia/Jakarta" => "UTC+07:00 (Jakarta, Asia)", | |
"Asia/Ulaanbaatar" => "UTC+08:00 (Ulaanbaatar, Asia)", | |
"Asia/Makassar" => "UTC+08:00 (Makassar, Asia)", | |
"Asia/Manila" => "UTC+08:00 (Manila, Asia)", | |
"Asia/Shanghai" => "UTC+08:00 (Shanghai, Asia)", | |
"Antarctica/Casey" => "UTC+08:00 (Casey, Antarctica)", | |
"Asia/Macau" => "UTC+08:00 (Macau, Asia)", | |
"Asia/Brunei" => "UTC+08:00 (Brunei, Asia)", | |
"Asia/Taipei" => "UTC+08:00 (Taipei, Asia)", | |
"Asia/Singapore" => "UTC+08:00 (Singapore, Asia)", | |
"Asia/Hong_Kong" => "UTC+08:00 (Hong Kong, Asia)", | |
"Australia/Perth" => "UTC+08:00 (Perth, Australia)", | |
"Asia/Kuala_Lumpur" => "UTC+08:00 (Kuala Lumpur, Asia)", | |
"Asia/Chita" => "UTC+08:00 (Chita, Asia)", | |
"Asia/Kuching" => "UTC+08:00 (Kuching, Asia)", | |
"Asia/Choibalsan" => "UTC+08:00 (Choibalsan, Asia)", | |
"Asia/Irkutsk" => "UTC+08:00 (Irkutsk, Asia)", | |
"Australia/Eucla" => "UTC+08:45 (Eucla, Australia)", | |
"Asia/Tokyo" => "UTC+09:00 (Tokyo, Asia)", | |
"Asia/Dili" => "UTC+09:00 (Dili, Asia)", | |
"Pacific/Palau" => "UTC+09:00 (Palau, Pacific)", | |
"Asia/Jayapura" => "UTC+09:00 (Jayapura, Asia)", | |
"Asia/Khandyga" => "UTC+09:00 (Khandyga, Asia)", | |
"Asia/Seoul" => "UTC+09:00 (Seoul, Asia)", | |
"Asia/Pyongyang" => "UTC+09:00 (Pyongyang, Asia)", | |
"Asia/Yakutsk" => "UTC+09:00 (Yakutsk, Asia)", | |
"Australia/Darwin" => "UTC+09:30 (Darwin, Australia)", | |
"Asia/Vladivostok" => "UTC+10:00 (Vladivostok, Asia)", | |
"Pacific/Guam" => "UTC+10:00 (Guam, Pacific)", | |
"Australia/Brisbane" => "UTC+10:00 (Brisbane, Australia)", | |
"Asia/Sakhalin" => "UTC+10:00 (Sakhalin, Asia)", | |
"Asia/Magadan" => "UTC+10:00 (Magadan, Asia)", | |
"Antarctica/DumontDUrville" => "UTC+10:00 (DumontDUrville, Antarctica)", | |
"Pacific/Saipan" => "UTC+10:00 (Saipan, Pacific)", | |
"Pacific/Port_Moresby" => "UTC+10:00 (Port Moresby, Pacific)", | |
"Pacific/Chuuk" => "UTC+10:00 (Chuuk, Pacific)", | |
"Asia/Ust-Nera" => "UTC+10:00 (Ust-Nera, Asia)", | |
"Australia/Lindeman" => "UTC+10:00 (Lindeman, Australia)", | |
"Australia/Adelaide" => "UTC+10:30 (Adelaide, Australia)", | |
"Australia/Broken_Hill" => "UTC+10:30 (Broken Hill, Australia)", | |
"Australia/Hobart" => "UTC+11:00 (Hobart, Australia)", | |
"Australia/Currie" => "UTC+11:00 (Currie, Australia)", | |
"Pacific/Kosrae" => "UTC+11:00 (Kosrae, Pacific)", | |
"Pacific/Noumea" => "UTC+11:00 (Noumea, Pacific)", | |
"Pacific/Pohnpei" => "UTC+11:00 (Pohnpei, Pacific)", | |
"Australia/Melbourne" => "UTC+11:00 (Melbourne, Australia)", | |
"Australia/Lord_Howe" => "UTC+11:00 (Lord Howe, Australia)", | |
"Antarctica/Macquarie" => "UTC+11:00 (Macquarie, Antarctica)", | |
"Australia/Sydney" => "UTC+11:00 (Sydney, Australia)", | |
"Asia/Srednekolymsk" => "UTC+11:00 (Srednekolymsk, Asia)", | |
"Pacific/Bougainville" => "UTC+11:00 (Bougainville, Pacific)", | |
"Pacific/Guadalcanal" => "UTC+11:00 (Guadalcanal, Pacific)", | |
"Pacific/Efate" => "UTC+11:00 (Efate, Pacific)", | |
"Pacific/Norfolk" => "UTC+11:30 (Norfolk, Pacific)", | |
"Pacific/Wallis" => "UTC+12:00 (Wallis, Pacific)", | |
"Pacific/Wake" => "UTC+12:00 (Wake, Pacific)", | |
"Pacific/Funafuti" => "UTC+12:00 (Funafuti, Pacific)", | |
"Asia/Anadyr" => "UTC+12:00 (Anadyr, Asia)", | |
"Pacific/Fiji" => "UTC+12:00 (Fiji, Pacific)", | |
"Pacific/Tarawa" => "UTC+12:00 (Tarawa, Pacific)", | |
"Asia/Kamchatka" => "UTC+12:00 (Kamchatka, Asia)", | |
"Pacific/Nauru" => "UTC+12:00 (Nauru, Pacific)", | |
"Pacific/Kwajalein" => "UTC+12:00 (Kwajalein, Pacific)", | |
"Pacific/Majuro" => "UTC+12:00 (Majuro, Pacific)", | |
"Pacific/Tongatapu" => "UTC+13:00 (Tongatapu, Pacific)", | |
"Pacific/Enderbury" => "UTC+13:00 (Enderbury, Pacific)", | |
"Antarctica/McMurdo" => "UTC+13:00 (McMurdo, Antarctica)", | |
"Pacific/Auckland" => "UTC+13:00 (Auckland, Pacific)", | |
"Pacific/Fakaofo" => "UTC+13:00 (Fakaofo, Pacific)", | |
"Pacific/Chatham" => "UTC+13:45 (Chatham, Pacific)", | |
"Pacific/Apia" => "UTC+14:00 (Apia, Pacific)", | |
"Pacific/Kiritimati" => "UTC+14:00 (Kiritimati, Pacific)" | |
]; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
class TimeZones { | |
/** | |
* @return array | |
*/ | |
public function generate() | |
{ | |
$identifiers = DateTimeZone::listIdentifiers(); | |
$utc = new \DateTime(null, new DateTimeZone('UTC')); | |
$offsets = []; | |
foreach ($identifiers as $identifier) | |
{ | |
if ($identifier === 'UTC') continue; | |
$offsets[$identifier] = (new DateTimeZone($identifier))->getOffset($utc); | |
} | |
asort($offsets); | |
$fields = []; | |
foreach ($offsets as $identifier => $offset) | |
{ | |
$fields[$identifier] = $this->humanReadableOffset($offset) . ' (' . $this->humanReadableName($identifier) . ')'; | |
} | |
return $fields; | |
} | |
/** | |
* @param int $offset | |
* @return string | |
*/ | |
private function humanReadableOffset($offset) | |
{ | |
if ($offset === 0) | |
{ | |
return 'UTC'; | |
} | |
else | |
{ | |
$sign = $offset > 0 ? '+' : '-'; | |
$formattedOffset = gmdate('H:i', abs($offset)); | |
return 'UTC' . $sign . $formattedOffset; | |
} | |
} | |
/** | |
* @param string $identifier | |
* @return string | |
*/ | |
private function humanReadableName($identifier) | |
{ | |
return implode(', ', array_reverse(explode('/', str_replace('_', ' ', $identifier)))); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment