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