From 1b61ef173b3b30b9a728db2b9e70ac625829166b Mon Sep 17 00:00:00 2001 From: edalzell Date: Thu, 6 Nov 2025 14:46:30 -0800 Subject: [PATCH 1/3] dictionary --- resources/fieldsets/event.yaml | 12 +- resources/timezones.json | 2287 -------------------------------- src/Fieldtypes/Timezones.php | 83 -- src/ServiceProvider.php | 4 +- 4 files changed, 6 insertions(+), 2380 deletions(-) delete mode 100644 resources/timezones.json delete mode 100644 src/Fieldtypes/Timezones.php diff --git a/resources/fieldsets/event.yaml b/resources/fieldsets/event.yaml index e76ced3..8267c60 100644 --- a/resources/fieldsets/event.yaml +++ b/resources/fieldsets/event.yaml @@ -17,16 +17,12 @@ fields: - handle: timezone field: + dictionary: timezones + clearable: true max_items: 1 - clearable: false - searchable: true - taggable: false - push_tags: false - cast_booleans: false + default: UTC + type: dictionary display: Timezone - type: timezones - mode: typeahead - width: 33 - handle: all_day field: diff --git a/resources/timezones.json b/resources/timezones.json deleted file mode 100644 index cb99581..0000000 --- a/resources/timezones.json +++ /dev/null @@ -1,2287 +0,0 @@ -[ - { - "timezone": "Australia/Darwin", - "abbreviation": "ACST", - "name": "AUS Central Standard Time" - }, - { - "timezone": "America/Glace_Bay", - "abbreviation": "AST", - "name": "Atlantic Standard Time" - }, - { - "timezone": "America/Goose_Bay", - "abbreviation": "AST", - "name": "Atlantic Standard Time" - }, - { - "timezone": "America/Halifax", - "abbreviation": "AST", - "name": "Atlantic Standard Time" - }, - { - "timezone": "America/Moncton", - "abbreviation": "AST", - "name": "Atlantic Standard Time" - }, - { - "timezone": "America/Thule", - "abbreviation": "AST", - "name": "Atlantic Standard Time" - }, - { - "timezone": "Atlantic/Bermuda", - "abbreviation": "AST", - "name": "Atlantic Standard Time" - }, - { - "timezone": "America/Scoresbysund", - "abbreviation": "AST", - "name": "Azores Standard Time" - }, - { - "timezone": "Atlantic/Azores", - "abbreviation": "AST", - "name": "Azores Standard Time" - }, - { - "timezone": "Asia/Baku", - "abbreviation": "AST", - "name": "Azerbaijan Standard Time" - }, - { - "timezone": "Australia/Melbourne", - "abbreviation": "AEST", - "name": "AUS Eastern Standard Time" - }, - { - "timezone": "Australia/Sydney", - "abbreviation": "AEST", - "name": "AUS Eastern Standard Time" - }, - { - "timezone": "America/Anchorage", - "abbreviation": "AKST", - "name": "Alaskan Standard Time" - }, - { - "timezone": "America/Juneau", - "abbreviation": "AKST", - "name": "Alaskan Standard Time" - }, - { - "timezone": "America/Nome", - "abbreviation": "AKST", - "name": "Alaskan Standard Time" - }, - { - "timezone": "America/Sitka", - "abbreviation": "AKST", - "name": "Alaskan Standard Time" - }, - { - "timezone": "America/Yakutat", - "abbreviation": "AKST", - "name": "Alaskan Standard Time" - }, - { - "timezone": "America/Argentina/Buenos_Aires", - "abbreviation": "AST", - "name": "Argentina Standard Time" - }, - { - "timezone": "America/Argentina/Catamarca", - "abbreviation": "AST", - "name": "Argentina Standard Time" - }, - { - "timezone": "America/Argentina/Cordoba", - "abbreviation": "AST", - "name": "Argentina Standard Time" - }, - { - "timezone": "America/Argentina/Jujuy", - "abbreviation": "AST", - "name": "Argentina Standard Time" - }, - { - "timezone": "America/Argentina/La_Rioja", - "abbreviation": "AST", - "name": "Argentina Standard Time" - }, - { - "timezone": "America/Argentina/Mendoza", - "abbreviation": "AST", - "name": "Argentina Standard Time" - }, - { - "timezone": "America/Argentina/Rio_Gallegos", - "abbreviation": "AST", - "name": "Argentina Standard Time" - }, - { - "timezone": "America/Argentina/Salta", - "abbreviation": "AST", - "name": "Argentina Standard Time" - }, - { - "timezone": "America/Argentina/San_Juan", - "abbreviation": "AST", - "name": "Argentina Standard Time" - }, - { - "timezone": "America/Argentina/San_Luis", - "abbreviation": "AST", - "name": "Argentina Standard Time" - }, - { - "timezone": "America/Argentina/Tucuman", - "abbreviation": "AST", - "name": "Argentina Standard Time" - }, - { - "timezone": "America/Argentina/Ushuaia", - "abbreviation": "AST", - "name": "Argentina Standard Time" - }, - { - "timezone": "America/Buenos_Aires", - "abbreviation": "AST", - "name": "Argentina Standard Time" - }, - { - "timezone": "America/Catamarca", - "abbreviation": "AST", - "name": "Argentina Standard Time" - }, - { - "timezone": "America/Cordoba", - "abbreviation": "AST", - "name": "Argentina Standard Time" - }, - { - "timezone": "America/Jujuy", - "abbreviation": "AST", - "name": "Argentina Standard Time" - }, - { - "timezone": "America/Mendoza", - "abbreviation": "AST", - "name": "Argentina Standard Time" - }, - { - "timezone": "Asia/Baghdad", - "abbreviation": "AST", - "name": "Arabic Standard Time" - }, - { - "timezone": "Asia/Aden", - "abbreviation": "AST", - "name": "Arab Standard Time" - }, - { - "timezone": "Asia/Bahrain", - "abbreviation": "AST", - "name": "Arab Standard Time" - }, - { - "timezone": "Asia/Kuwait", - "abbreviation": "AST", - "name": "Arab Standard Time" - }, - { - "timezone": "Asia/Qatar", - "abbreviation": "AST", - "name": "Arab Standard Time" - }, - { - "timezone": "Asia/Riyadh", - "abbreviation": "AST", - "name": "Arab Standard Time" - }, - { - "timezone": "Asia/Dubai", - "abbreviation": "AST", - "name": "Arabian Standard Time" - }, - { - "timezone": "Asia/Muscat", - "abbreviation": "AST", - "name": "Arabian Standard Time" - }, - { - "timezone": "Etc/GMT-4", - "abbreviation": "AST", - "name": "Arabian Standard Time" - }, - { - "timezone": "Asia/Kabul", - "abbreviation": "AST", - "name": "Afghanistan Standard Time" - }, - { - "timezone": "America/Bahia", - "abbreviation": "BST", - "name": "Bahia Standard Time" - }, - { - "timezone": "Europe/Isle_of_Man", - "abbreviation": "BST", - "name": "British Summer Time" - }, - { - "timezone": "Europe/Guernsey", - "abbreviation": "BST", - "name": "British Summer Time" - }, - { - "timezone": "Europe/Jersey", - "abbreviation": "BST", - "name": "British Summer Time" - }, - { - "timezone": "Europe/London", - "abbreviation": "BST", - "name": "British Summer Time" - }, - { - "timezone": "Asia/Dhaka", - "abbreviation": "BST", - "name": "Bangladesh Standard Time" - }, - { - "timezone": "Asia/Thimphu", - "abbreviation": "BST", - "name": "Bangladesh Standard Time" - }, - { - "timezone": "America/Belize", - "abbreviation": "CAST", - "name": "Central America Standard Time" - }, - { - "timezone": "America/Costa_Rica", - "abbreviation": "CAST", - "name": "Central America Standard Time" - }, - { - "timezone": "America/El_Salvador", - "abbreviation": "CAST", - "name": "Central America Standard Time" - }, - { - "timezone": "America/Guatemala", - "abbreviation": "CAST", - "name": "Central America Standard Time" - }, - { - "timezone": "America/Managua", - "abbreviation": "CAST", - "name": "Central America Standard Time" - }, - { - "timezone": "America/Tegucigalpa", - "abbreviation": "CAST", - "name": "Central America Standard Time" - }, - { - "timezone": "Etc/GMT+6", - "abbreviation": "CAST", - "name": "Central America Standard Time" - }, - { - "timezone": "Pacific/Galapagos", - "abbreviation": "CAST", - "name": "Central America Standard Time" - }, - { - "timezone": "Antarctica/Vostok", - "abbreviation": "CAST", - "name": "Central Asia Standard Time" - }, - { - "timezone": "Asia/Almaty", - "abbreviation": "CAST", - "name": "Central Asia Standard Time" - }, - { - "timezone": "Asia/Bishkek", - "abbreviation": "CAST", - "name": "Central Asia Standard Time" - }, - { - "timezone": "Asia/Qyzylorda", - "abbreviation": "CAST", - "name": "Central Asia Standard Time" - }, - { - "timezone": "Asia/Urumqi", - "abbreviation": "CAST", - "name": "Central Asia Standard Time" - }, - { - "timezone": "Etc/GMT-6", - "abbreviation": "CAST", - "name": "Central Asia Standard Time" - }, - { - "timezone": "Indian/Chagos", - "abbreviation": "CAST", - "name": "Central Asia Standard Time" - }, - { - "timezone": "Australia/Adelaide", - "abbreviation": "CAST", - "name": "Cen. Australia Standard Time" - }, - { - "timezone": "Australia/Broken_Hill", - "abbreviation": "CAST", - "name": "Cen. Australia Standard Time" - }, - { - "timezone": "America/Campo_Grande", - "abbreviation": "CBST", - "name": "Central Brazilian Standard Time" - }, - { - "timezone": "America/Cuiaba", - "abbreviation": "CBST", - "name": "Central Brazilian Standard Time" - }, - { - "timezone": "America/Regina", - "abbreviation": "CCST", - "name": "Canada Central Standard Time" - }, - { - "timezone": "America/Swift_Current", - "abbreviation": "CCST", - "name": "Canada Central Standard Time" - }, - { - "timezone": "America/Chicago", - "abbreviation": "CST", - "name": "Central Standard Time" - }, - { - "timezone": "America/Indiana/Knox", - "abbreviation": "CST", - "name": "Central Standard Time" - }, - { - "timezone": "America/Indiana/Tell_City", - "abbreviation": "CST", - "name": "Central Standard Time" - }, - { - "timezone": "America/Matamoros", - "abbreviation": "CST", - "name": "Central Standard Time" - }, - { - "timezone": "America/Menominee", - "abbreviation": "CST", - "name": "Central Standard Time" - }, - { - "timezone": "America/North_Dakota/Beulah", - "abbreviation": "CST", - "name": "Central Standard Time" - }, - { - "timezone": "America/North_Dakota/Center", - "abbreviation": "CST", - "name": "Central Standard Time" - }, - { - "timezone": "America/North_Dakota/New_Salem", - "abbreviation": "CST", - "name": "Central Standard Time" - }, - { - "timezone": "America/Rainy_River", - "abbreviation": "CST", - "name": "Central Standard Time" - }, - { - "timezone": "America/Rankin_Inlet", - "abbreviation": "CST", - "name": "Central Standard Time" - }, - { - "timezone": "America/Resolute", - "abbreviation": "CST", - "name": "Central Standard Time" - }, - { - "timezone": "America/Winnipeg", - "abbreviation": "CST", - "name": "Central Standard Time" - }, - { - "timezone": "CST6CDT", - "abbreviation": "CST", - "name": "Central Standard Time" - }, - { - "timezone": "America/Bahia_Banderas", - "abbreviation": "CST", - "name": "Central Standard Time (Mexico)" - }, - { - "timezone": "America/Cancun", - "abbreviation": "CST", - "name": "Central Standard Time (Mexico)" - }, - { - "timezone": "America/Merida", - "abbreviation": "CST", - "name": "Central Standard Time (Mexico)" - }, - { - "timezone": "America/Mexico_City", - "abbreviation": "CST", - "name": "Central Standard Time (Mexico)" - }, - { - "timezone": "America/Monterrey", - "abbreviation": "CST", - "name": "Central Standard Time (Mexico)" - }, - { - "timezone": "Europe/Belgrade", - "abbreviation": "CEST", - "name": "Central Europe Standard Time" - }, - { - "timezone": "Europe/Bratislava", - "abbreviation": "CEST", - "name": "Central Europe Standard Time" - }, - { - "timezone": "Europe/Budapest", - "abbreviation": "CEST", - "name": "Central Europe Standard Time" - }, - { - "timezone": "Europe/Ljubljana", - "abbreviation": "CEST", - "name": "Central Europe Standard Time" - }, - { - "timezone": "Europe/Podgorica", - "abbreviation": "CEST", - "name": "Central Europe Standard Time" - }, - { - "timezone": "Europe/Prague", - "abbreviation": "CEST", - "name": "Central Europe Standard Time" - }, - { - "timezone": "Europe/Tirane", - "abbreviation": "CEST", - "name": "Central Europe Standard Time" - }, - { - "timezone": "Europe/Sarajevo", - "abbreviation": "CEST", - "name": "Central European Standard Time" - }, - { - "timezone": "Europe/Skopje", - "abbreviation": "CEST", - "name": "Central European Standard Time" - }, - { - "timezone": "Europe/Warsaw", - "abbreviation": "CEST", - "name": "Central European Standard Time" - }, - { - "timezone": "Europe/Zagreb", - "abbreviation": "CEST", - "name": "Central European Standard Time" - }, - { - "timezone": "Antarctica/Macquarie", - "abbreviation": "CPST", - "name": "Central Pacific Standard Time" - }, - { - "timezone": "Etc/GMT-11", - "abbreviation": "CPST", - "name": "Central Pacific Standard Time" - }, - { - "timezone": "Pacific/Efate", - "abbreviation": "CPST", - "name": "Central Pacific Standard Time" - }, - { - "timezone": "Pacific/Guadalcanal", - "abbreviation": "CPST", - "name": "Central Pacific Standard Time" - }, - { - "timezone": "Pacific/Kosrae", - "abbreviation": "CPST", - "name": "Central Pacific Standard Time" - }, - { - "timezone": "Pacific/Noumea", - "abbreviation": "CPST", - "name": "Central Pacific Standard Time" - }, - { - "timezone": "Pacific/Ponape", - "abbreviation": "CPST", - "name": "Central Pacific Standard Time" - }, - { - "timezone": "Asia/Yerevan", - "abbreviation": "CST", - "name": "Caucasus Standard Time" - }, - { - "timezone": "Asia/Hong_Kong", - "abbreviation": "CST", - "name": "China Standard Time" - }, - { - "timezone": "Asia/Macau", - "abbreviation": "CST", - "name": "China Standard Time" - }, - { - "timezone": "Asia/Shanghai", - "abbreviation": "CST", - "name": "China Standard Time" - }, - { - "timezone": "Atlantic/Cape_Verde", - "abbreviation": "CVST", - "name": "Cape Verde Standard Time" - }, - { - "timezone": "Etc/GMT+1", - "abbreviation": "CVST", - "name": "Cape Verde Standard Time" - }, - { - "timezone": "Etc/GMT+12", - "abbreviation": "DST", - "name": "Dateline Standard Time" - }, - { - "timezone": "Africa/Addis_Ababa", - "abbreviation": "EAST", - "name": "E. Africa Standard Time" - }, - { - "timezone": "Africa/Asmera", - "abbreviation": "EAST", - "name": "E. Africa Standard Time" - }, - { - "timezone": "Africa/Dar_es_Salaam", - "abbreviation": "EAST", - "name": "E. Africa Standard Time" - }, - { - "timezone": "Africa/Djibouti", - "abbreviation": "EAST", - "name": "E. Africa Standard Time" - }, - { - "timezone": "Africa/Juba", - "abbreviation": "EAST", - "name": "E. Africa Standard Time" - }, - { - "timezone": "Africa/Kampala", - "abbreviation": "EAST", - "name": "E. Africa Standard Time" - }, - { - "timezone": "Africa/Khartoum", - "abbreviation": "EAST", - "name": "E. Africa Standard Time" - }, - { - "timezone": "Africa/Mogadishu", - "abbreviation": "EAST", - "name": "E. Africa Standard Time" - }, - { - "timezone": "Africa/Nairobi", - "abbreviation": "EAST", - "name": "E. Africa Standard Time" - }, - { - "timezone": "Antarctica/Syowa", - "abbreviation": "EAST", - "name": "E. Africa Standard Time" - }, - { - "timezone": "Etc/GMT-3", - "abbreviation": "EAST", - "name": "E. Africa Standard Time" - }, - { - "timezone": "Indian/Antananarivo", - "abbreviation": "EAST", - "name": "E. Africa Standard Time" - }, - { - "timezone": "Indian/Comoro", - "abbreviation": "EAST", - "name": "E. Africa Standard Time" - }, - { - "timezone": "Indian/Mayotte", - "abbreviation": "EAST", - "name": "E. Africa Standard Time" - }, - { - "timezone": "Australia/Brisbane", - "abbreviation": "EAST", - "name": "E. Australia Standard Time" - }, - { - "timezone": "Australia/Lindeman", - "abbreviation": "EAST", - "name": "E. Australia Standard Time" - }, - { - "timezone": "Asia/Nicosia", - "abbreviation": "EEST", - "name": "E. Europe Standard Time" - }, - { - "timezone": "Europe/Athens", - "abbreviation": "EEST", - "name": "E. Europe Standard Time" - }, - { - "timezone": "Europe/Bucharest", - "abbreviation": "EEST", - "name": "E. Europe Standard Time" - }, - { - "timezone": "Europe/Chisinau", - "abbreviation": "EEST", - "name": "E. Europe Standard Time" - }, - { - "timezone": "Europe/Helsinki", - "abbreviation": "EEST", - "name": "E. Europe Standard Time" - }, - { - "timezone": "Europe/Kyiv", - "abbreviation": "EEST", - "name": "E. Europe Standard Time" - }, - { - "timezone": "Europe/Mariehamn", - "abbreviation": "EEST", - "name": "E. Europe Standard Time" - }, - { - "timezone": "Europe/Nicosia", - "abbreviation": "EEST", - "name": "E. Europe Standard Time" - }, - { - "timezone": "Europe/Riga", - "abbreviation": "EEST", - "name": "E. Europe Standard Time" - }, - { - "timezone": "Europe/Sofia", - "abbreviation": "EEST", - "name": "E. Europe Standard Time" - }, - { - "timezone": "Europe/Tallinn", - "abbreviation": "EEST", - "name": "E. Europe Standard Time" - }, - { - "timezone": "Europe/Uzhgorod", - "abbreviation": "EEST", - "name": "E. Europe Standard Time" - }, - { - "timezone": "Europe/Vilnius", - "abbreviation": "EEST", - "name": "E. Europe Standard Time" - }, - { - "timezone": "Europe/Zaporozhye", - "abbreviation": "EEST", - "name": "E. Europe Standard Time" - }, - { - "timezone": "America/Sao_Paulo", - "abbreviation": "ESAST", - "name": "E. South America Standard Time" - }, - { - "timezone": "America/Detroit", - "abbreviation": "EST", - "name": "Eastern Standard Time" - }, - { - "timezone": "America/Havana", - "abbreviation": "EST", - "name": "Eastern Standard Time" - }, - { - "timezone": "America/Indiana/Petersburg", - "abbreviation": "EST", - "name": "Eastern Standard Time" - }, - { - "timezone": "America/Indiana/Vincennes", - "abbreviation": "EST", - "name": "Eastern Standard Time" - }, - { - "timezone": "America/Indiana/Winamac", - "abbreviation": "EST", - "name": "Eastern Standard Time" - }, - { - "timezone": "America/Iqaluit", - "abbreviation": "EST", - "name": "Eastern Standard Time" - }, - { - "timezone": "America/Kentucky/Monticello", - "abbreviation": "EST", - "name": "Eastern Standard Time" - }, - { - "timezone": "America/Louisville", - "abbreviation": "EST", - "name": "Eastern Standard Time" - }, - { - "timezone": "America/Montreal", - "abbreviation": "EST", - "name": "Eastern Standard Time" - }, - { - "timezone": "America/Nassau", - "abbreviation": "EST", - "name": "Eastern Standard Time" - }, - { - "timezone": "America/New_York", - "abbreviation": "EST", - "name": "Eastern Standard Time" - }, - { - "timezone": "America/Nipigon", - "abbreviation": "EST", - "name": "Eastern Standard Time" - }, - { - "timezone": "America/Pangnirtung", - "abbreviation": "EST", - "name": "Eastern Standard Time" - }, - { - "timezone": "America/Port-au-Prince", - "abbreviation": "EST", - "name": "Eastern Standard Time" - }, - { - "timezone": "America/Thunder_Bay", - "abbreviation": "EST", - "name": "Eastern Standard Time" - }, - { - "timezone": "America/Toronto", - "abbreviation": "EST", - "name": "Eastern Standard Time" - }, - { - "timezone": "Africa/Cairo", - "abbreviation": "EST", - "name": "Egypt Standard Time" - }, - { - "timezone": "Europe/Helsinki", - "abbreviation": "FST", - "name": "FLE Standard Time" - }, - { - "timezone": "Europe/Kyiv", - "abbreviation": "FST", - "name": "FLE Standard Time" - }, - { - "timezone": "Europe/Mariehamn", - "abbreviation": "FST", - "name": "FLE Standard Time" - }, - { - "timezone": "Europe/Riga", - "abbreviation": "FST", - "name": "FLE Standard Time" - }, - { - "timezone": "Europe/Sofia", - "abbreviation": "FST", - "name": "FLE Standard Time" - }, - { - "timezone": "Europe/Tallinn", - "abbreviation": "FST", - "name": "FLE Standard Time" - }, - { - "timezone": "Europe/Uzhgorod", - "abbreviation": "FST", - "name": "FLE Standard Time" - }, - { - "timezone": "Europe/Vilnius", - "abbreviation": "FST", - "name": "FLE Standard Time" - }, - { - "timezone": "Europe/Zaporozhye", - "abbreviation": "FST", - "name": "FLE Standard Time" - }, - { - "timezone": "Pacific/Fiji", - "abbreviation": "FST", - "name": "Fiji Standard Time" - }, - { - "timezone": "America/Godthab", - "abbreviation": "GST", - "name": "Greenland Standard Time" - }, - { - "timezone": "Atlantic/Canary", - "abbreviation": "GST", - "name": "GMT Standard Time" - }, - { - "timezone": "Atlantic/Faeroe", - "abbreviation": "GST", - "name": "GMT Standard Time" - }, - { - "timezone": "Atlantic/Madeira", - "abbreviation": "GST", - "name": "GMT Standard Time" - }, - { - "timezone": "Europe/Dublin", - "abbreviation": "GST", - "name": "GMT Standard Time" - }, - { - "timezone": "Europe/Lisbon", - "abbreviation": "GST", - "name": "GMT Standard Time" - }, - { - "timezone": "Asia/Nicosia", - "abbreviation": "GST", - "name": "GTB Standard Time" - }, - { - "timezone": "Europe/Athens", - "abbreviation": "GST", - "name": "GTB Standard Time" - }, - { - "timezone": "Europe/Bucharest", - "abbreviation": "GST", - "name": "GTB Standard Time" - }, - { - "timezone": "Europe/Chisinau", - "abbreviation": "GST", - "name": "GTB Standard Time" - }, - { - "timezone": "Asia/Tbilisi", - "abbreviation": "GET", - "name": "Georgian Standard Time" - }, - { - "timezone": "Europe/Isle_of_Man", - "abbreviation": "GMT", - "name": "GMT Standard Time" - }, - { - "timezone": "Europe/Guernsey", - "abbreviation": "GMT", - "name": "GMT Standard Time" - }, - { - "timezone": "Europe/Jersey", - "abbreviation": "GMT", - "name": "GMT Standard Time" - }, - { - "timezone": "Europe/London", - "abbreviation": "GMT", - "name": "GMT Standard Time" - }, - { - "timezone": "Africa/Abidjan", - "abbreviation": "GST", - "name": "Greenwich Standard Time" - }, - { - "timezone": "Africa/Accra", - "abbreviation": "GST", - "name": "Greenwich Standard Time" - }, - { - "timezone": "Africa/Bamako", - "abbreviation": "GST", - "name": "Greenwich Standard Time" - }, - { - "timezone": "Africa/Banjul", - "abbreviation": "GST", - "name": "Greenwich Standard Time" - }, - { - "timezone": "Africa/Bissau", - "abbreviation": "GST", - "name": "Greenwich Standard Time" - }, - { - "timezone": "Africa/Conakry", - "abbreviation": "GST", - "name": "Greenwich Standard Time" - }, - { - "timezone": "Africa/Dakar", - "abbreviation": "GST", - "name": "Greenwich Standard Time" - }, - { - "timezone": "Africa/Freetown", - "abbreviation": "GST", - "name": "Greenwich Standard Time" - }, - { - "timezone": "Africa/Lome", - "abbreviation": "GST", - "name": "Greenwich Standard Time" - }, - { - "timezone": "Africa/Monrovia", - "abbreviation": "GST", - "name": "Greenwich Standard Time" - }, - { - "timezone": "Africa/Nouakchott", - "abbreviation": "GST", - "name": "Greenwich Standard Time" - }, - { - "timezone": "Africa/Ouagadougou", - "abbreviation": "GST", - "name": "Greenwich Standard Time" - }, - { - "timezone": "Africa/Sao_Tome", - "abbreviation": "GST", - "name": "Greenwich Standard Time" - }, - { - "timezone": "Atlantic/Reykjavik", - "abbreviation": "GST", - "name": "Greenwich Standard Time" - }, - { - "timezone": "Atlantic/St_Helena", - "abbreviation": "GST", - "name": "Greenwich Standard Time" - }, - { - "timezone": "Etc/GMT+10", - "abbreviation": "HST", - "name": "Hawaiian Standard Time" - }, - { - "timezone": "Pacific/Honolulu", - "abbreviation": "HST", - "name": "Hawaiian Standard Time" - }, - { - "timezone": "Pacific/Johnston", - "abbreviation": "HST", - "name": "Hawaiian Standard Time" - }, - { - "timezone": "Pacific/Rarotonga", - "abbreviation": "HST", - "name": "Hawaiian Standard Time" - }, - { - "timezone": "Pacific/Tahiti", - "abbreviation": "HST", - "name": "Hawaiian Standard Time" - }, - { - "timezone": "Asia/Tehran", - "abbreviation": "IRST", - "name": "Iran Standard Time" - }, - { - "timezone": "Asia/Kolkata", - "abbreviation": "IST", - "name": "India Standard Time" - }, - { - "timezone": "Asia/Calcutta", - "abbreviation": "IST", - "name": "India Standard Time" - }, - { - "timezone": "Asia/Jerusalem", - "abbreviation": "IST", - "name": "Israel Standard Time" - }, - { - "timezone": "Asia/Amman", - "abbreviation": "JST", - "name": "Jordan Standard Time" - }, - { - "timezone": "Asia/Dili", - "abbreviation": "JST", - "name": "Japan Standard Time" - }, - { - "timezone": "Asia/Jayapura", - "abbreviation": "JST", - "name": "Japan Standard Time" - }, - { - "timezone": "Asia/Tokyo", - "abbreviation": "JST", - "name": "Japan Standard Time" - }, - { - "timezone": "Etc/GMT-9", - "abbreviation": "JST", - "name": "Japan Standard Time" - }, - { - "timezone": "Pacific/Palau", - "abbreviation": "JST", - "name": "Japan Standard Time" - }, - { - "timezone": "Asia/Kamchatka", - "abbreviation": "KST", - "name": "Kamchatka Standard Time" - }, - { - "timezone": "Europe/Kaliningrad", - "abbreviation": "KST", - "name": "Kaliningrad Standard Time" - }, - { - "timezone": "Asia/Pyongyang", - "abbreviation": "KST", - "name": "Korea Standard Time" - }, - { - "timezone": "Asia/Seoul", - "abbreviation": "KST", - "name": "Korea Standard Time" - }, - { - "timezone": "Africa/Tripoli", - "abbreviation": "LST", - "name": "Libya Standard Time" - }, - { - "timezone": "America/Chihuahua", - "abbreviation": "MST", - "name": "Mountain Standard Time (Mexico)" - }, - { - "timezone": "America/Mazatlan", - "abbreviation": "MST", - "name": "Mountain Standard Time (Mexico)" - }, - { - "timezone": "America/Boise", - "abbreviation": "MST", - "name": "Mountain Standard Time" - }, - { - "timezone": "America/Cambridge_Bay", - "abbreviation": "MST", - "name": "Mountain Standard Time" - }, - { - "timezone": "America/Denver", - "abbreviation": "MST", - "name": "Mountain Standard Time" - }, - { - "timezone": "America/Edmonton", - "abbreviation": "MST", - "name": "Mountain Standard Time" - }, - { - "timezone": "America/Inuvik", - "abbreviation": "MST", - "name": "Mountain Standard Time" - }, - { - "timezone": "America/Ojinaga", - "abbreviation": "MST", - "name": "Mountain Standard Time" - }, - { - "timezone": "America/Yellowknife", - "abbreviation": "MST", - "name": "Mountain Standard Time" - }, - { - "timezone": "MST7MST", - "abbreviation": "MST", - "name": "Mountain Standard Time" - }, - { - "timezone": "Africa/Casablanca", - "abbreviation": "MST", - "name": "Morocco Standard Time" - }, - { - "timezone": "Africa/El_Aaiun", - "abbreviation": "MST", - "name": "Morocco Standard Time" - }, - { - "timezone": "Asia/Beirut", - "abbreviation": "MEST", - "name": "Middle East Standard Time" - }, - { - "timezone": "Asia/Brunei", - "abbreviation": "MPST", - "name": "Singapore Standard Time" - }, - { - "timezone": "Asia/Kuala_Lumpur", - "abbreviation": "MPST", - "name": "Singapore Standard Time" - }, - { - "timezone": "Asia/Kuching", - "abbreviation": "MPST", - "name": "Singapore Standard Time" - }, - { - "timezone": "Asia/Makassar", - "abbreviation": "MPST", - "name": "Singapore Standard Time" - }, - { - "timezone": "Asia/Manila", - "abbreviation": "MPST", - "name": "Singapore Standard Time" - }, - { - "timezone": "Asia/Singapore", - "abbreviation": "MPST", - "name": "Singapore Standard Time" - }, - { - "timezone": "Etc/GMT-8", - "abbreviation": "MPST", - "name": "Singapore Standard Time" - }, - { - "timezone": "Europe/Kirov", - "abbreviation": "MSK", - "name": "Moscow Standard Time" - }, - { - "timezone": "Europe/Moscow", - "abbreviation": "MSK", - "name": "Moscow Standard Time" - }, - { - "timezone": "Europe/Simferopol", - "abbreviation": "MSK", - "name": "Moscow Standard Time" - }, - { - "timezone": "Europe/Volgograd", - "abbreviation": "MSK", - "name": "Moscow Standard Time" - }, - { - "timezone": "Europe/Minsk", - "abbreviation": "MSK", - "name": "Moscow Standard Time" - }, - { - "timezone": "America/Montevideo", - "abbreviation": "MST", - "name": "Montevideo Standard Time" - }, - { - "timezone": "Indian/Mahe", - "abbreviation": "MST", - "name": "Mauritius Standard Time" - }, - { - "timezone": "Indian/Mauritius", - "abbreviation": "MST", - "name": "Mauritius Standard Time" - }, - { - "timezone": "Indian/Reunion", - "abbreviation": "MST", - "name": "Mauritius Standard Time" - }, - { - "timezone": "Asia/Rangoon", - "abbreviation": "MST", - "name": "Myanmar Standard Time" - }, - { - "timezone": "Indian/Cocos", - "abbreviation": "MST", - "name": "Myanmar Standard Time" - }, - { - "timezone": "Asia/Anadyr", - "abbreviation": "MST", - "name": "Magadan Standard Time" - }, - { - "timezone": "Asia/Kamchatka", - "abbreviation": "MST", - "name": "Magadan Standard Time" - }, - { - "timezone": "Asia/Magadan", - "abbreviation": "MST", - "name": "Magadan Standard Time" - }, - { - "timezone": "Asia/Srednekolymsk", - "abbreviation": "MST", - "name": "Magadan Standard Time" - }, - { - "timezone": "Asia/Irkutsk", - "abbreviation": "NAEST", - "name": "North Asia East Standard Time" - }, - { - "timezone": "Asia/Krasnoyarsk", - "abbreviation": "NAST", - "name": "North Asia Standard Time" - }, - { - "timezone": "Asia/Novokuznetsk", - "abbreviation": "NCAST", - "name": "N. Central Asia Standard Time" - }, - { - "timezone": "Asia/Novosibirsk", - "abbreviation": "NCAST", - "name": "N. Central Asia Standard Time" - }, - { - "timezone": "Asia/Omsk", - "abbreviation": "NCAST", - "name": "N. Central Asia Standard Time" - }, - { - "timezone": "America/St_Johns", - "abbreviation": "NST", - "name": "Newfoundland Standard Time" - }, - { - "timezone": "Africa/Windhoek", - "abbreviation": "NST", - "name": "Namibia Standard Time" - }, - { - "timezone": "Asia/Kathmandu", - "abbreviation": "NST", - "name": "Nepal Standard Time" - }, - { - "timezone": "Antarctica/McMurdo", - "abbreviation": "NZST", - "name": "New Zealand Standard Time" - }, - { - "timezone": "Pacific/Auckland", - "abbreviation": "NZST", - "name": "New Zealand Standard Time" - }, - { - "timezone": "America/Santa_Isabel", - "abbreviation": "PST", - "name": "Pacific Standard Time (Mexico)" - }, - { - "timezone": "Asia/Karachi", - "abbreviation": "PKT", - "name": "Pakistan Standard Time" - }, - { - "timezone": "America/Santiago", - "abbreviation": "PSST", - "name": "Pacific SA Standard Time" - }, - { - "timezone": "Antarctica/Palmer", - "abbreviation": "PSST", - "name": "Pacific SA Standard Time" - }, - { - "timezone": "America/Los_Angeles", - "abbreviation": "PST", - "name": "Pacific Standard Time" - }, - { - "timezone": "America/Tijuana", - "abbreviation": "PST", - "name": "Pacific Standard Time" - }, - { - "timezone": "America/Vancouver", - "abbreviation": "PST", - "name": "Pacific Standard Time" - }, - { - "timezone": "PST8PDT", - "abbreviation": "PST", - "name": "Pacific Standard Time" - }, - { - "timezone": "America/Asuncion", - "abbreviation": "PYT", - "name": "Paraguay Standard Time" - }, - { - "timezone": "Africa/Ceuta", - "abbreviation": "RST", - "name": "Romance Standard Time" - }, - { - "timezone": "Europe/Brussels", - "abbreviation": "RST", - "name": "Romance Standard Time" - }, - { - "timezone": "Europe/Copenhagen", - "abbreviation": "RST", - "name": "Romance Standard Time" - }, - { - "timezone": "Europe/Madrid", - "abbreviation": "RST", - "name": "Romance Standard Time" - }, - { - "timezone": "Europe/Paris", - "abbreviation": "RST", - "name": "Romance Standard Time" - }, - { - "timezone": "Europe/Astrakhan", - "abbreviation": "SAMT", - "name": "Samara Time" - }, - { - "timezone": "Europe/Samara", - "abbreviation": "SAMT", - "name": "Samara Time" - }, - { - "timezone": "Europe/Ulyanovsk", - "abbreviation": "SAMT", - "name": "Samara Time" - }, - { - "timezone": "Africa/Blantyre", - "abbreviation": "SAST", - "name": "South Africa Standard Time" - }, - { - "timezone": "Africa/Bujumbura", - "abbreviation": "SAST", - "name": "South Africa Standard Time" - }, - { - "timezone": "Africa/Gaborone", - "abbreviation": "SAST", - "name": "South Africa Standard Time" - }, - { - "timezone": "Africa/Harare", - "abbreviation": "SAST", - "name": "South Africa Standard Time" - }, - { - "timezone": "Africa/Johannesburg", - "abbreviation": "SAST", - "name": "South Africa Standard Time" - }, - { - "timezone": "Africa/Kigali", - "abbreviation": "SAST", - "name": "South Africa Standard Time" - }, - { - "timezone": "Africa/Lubumbashi", - "abbreviation": "SAST", - "name": "South Africa Standard Time" - }, - { - "timezone": "Africa/Lusaka", - "abbreviation": "SAST", - "name": "South Africa Standard Time" - }, - { - "timezone": "Africa/Maputo", - "abbreviation": "SAST", - "name": "South Africa Standard Time" - }, - { - "timezone": "Africa/Maseru", - "abbreviation": "SAST", - "name": "South Africa Standard Time" - }, - { - "timezone": "Africa/Mbabane", - "abbreviation": "SAST", - "name": "South Africa Standard Time" - }, - { - "timezone": "Etc/GMT-2", - "abbreviation": "SAST", - "name": "South Africa Standard Time" - }, - { - "timezone": "Antarctica/Davis", - "abbreviation": "SAST", - "name": "SE Asia Standard Time" - }, - { - "timezone": "Asia/Bangkok", - "abbreviation": "SAST", - "name": "SE Asia Standard Time" - }, - { - "timezone": "Asia/Hovd", - "abbreviation": "SAST", - "name": "SE Asia Standard Time" - }, - { - "timezone": "Asia/Jakarta", - "abbreviation": "SAST", - "name": "SE Asia Standard Time" - }, - { - "timezone": "Asia/Phnom_Penh", - "abbreviation": "SAST", - "name": "SE Asia Standard Time" - }, - { - "timezone": "Asia/Pontianak", - "abbreviation": "SAST", - "name": "SE Asia Standard Time" - }, - { - "timezone": "Asia/Saigon", - "abbreviation": "SAST", - "name": "SE Asia Standard Time" - }, - { - "timezone": "Asia/Vientiane", - "abbreviation": "SAST", - "name": "SE Asia Standard Time" - }, - { - "timezone": "Etc/GMT-7", - "abbreviation": "SAST", - "name": "SE Asia Standard Time" - }, - { - "timezone": "Indian/Christmas", - "abbreviation": "SAST", - "name": "SE Asia Standard Time" - }, - { - "timezone": "Asia/Damascus", - "abbreviation": "SST", - "name": "Syria Standard Time" - }, - { - "timezone": "America/Araguaina", - "abbreviation": "SEST", - "name": "SA Eastern Standard Time" - }, - { - "timezone": "America/Belem", - "abbreviation": "SEST", - "name": "SA Eastern Standard Time" - }, - { - "timezone": "America/Cayenne", - "abbreviation": "SEST", - "name": "SA Eastern Standard Time" - }, - { - "timezone": "America/Fortaleza", - "abbreviation": "SEST", - "name": "SA Eastern Standard Time" - }, - { - "timezone": "America/Maceio", - "abbreviation": "SEST", - "name": "SA Eastern Standard Time" - }, - { - "timezone": "America/Paramaribo", - "abbreviation": "SEST", - "name": "SA Eastern Standard Time" - }, - { - "timezone": "America/Recife", - "abbreviation": "SEST", - "name": "SA Eastern Standard Time" - }, - { - "timezone": "America/Santarem", - "abbreviation": "SEST", - "name": "SA Eastern Standard Time" - }, - { - "timezone": "Antarctica/Rothera", - "abbreviation": "SEST", - "name": "SA Eastern Standard Time" - }, - { - "timezone": "Atlantic/Stanley", - "abbreviation": "SEST", - "name": "SA Eastern Standard Time" - }, - { - "timezone": "Etc/GMT+3", - "abbreviation": "SEST", - "name": "SA Eastern Standard Time" - }, - { - "timezone": "Asia/Colombo", - "abbreviation": "SLST", - "name": "Sri Lanka Standard Time" - }, - { - "timezone": "America/Bogota", - "abbreviation": "SPST", - "name": "SA Pacific Standard Time" - }, - { - "timezone": "America/Cayman", - "abbreviation": "SPST", - "name": "SA Pacific Standard Time" - }, - { - "timezone": "America/Coral_Harbour", - "abbreviation": "SPST", - "name": "SA Pacific Standard Time" - }, - { - "timezone": "America/Eirunepe", - "abbreviation": "SPST", - "name": "SA Pacific Standard Time" - }, - { - "timezone": "America/Guayaquil", - "abbreviation": "SPST", - "name": "SA Pacific Standard Time" - }, - { - "timezone": "America/Jamaica", - "abbreviation": "SPST", - "name": "SA Pacific Standard Time" - }, - { - "timezone": "America/Lima", - "abbreviation": "SPST", - "name": "SA Pacific Standard Time" - }, - { - "timezone": "America/Panama", - "abbreviation": "SPST", - "name": "SA Pacific Standard Time" - }, - { - "timezone": "America/Rio_Branco", - "abbreviation": "SPST", - "name": "SA Pacific Standard Time" - }, - { - "timezone": "Etc/GMT+5", - "abbreviation": "SPST", - "name": "SA Pacific Standard Time" - }, - { - "timezone": "Pacific/Apia", - "abbreviation": "SST", - "name": "Samoa Standard Time" - }, - { - "timezone": "America/Anguilla", - "abbreviation": "SWST", - "name": "SA Western Standard Time" - }, - { - "timezone": "America/Antigua", - "abbreviation": "SWST", - "name": "SA Western Standard Time" - }, - { - "timezone": "America/Aruba", - "abbreviation": "SWST", - "name": "SA Western Standard Time" - }, - { - "timezone": "America/Barbados", - "abbreviation": "SWST", - "name": "SA Western Standard Time" - }, - { - "timezone": "America/Blanc-Sablon", - "abbreviation": "SWST", - "name": "SA Western Standard Time" - }, - { - "timezone": "America/Boa_Vista", - "abbreviation": "SWST", - "name": "SA Western Standard Time" - }, - { - "timezone": "America/Curacao", - "abbreviation": "SWST", - "name": "SA Western Standard Time" - }, - { - "timezone": "America/Dominica", - "abbreviation": "SWST", - "name": "SA Western Standard Time" - }, - { - "timezone": "America/Grand_Turk", - "abbreviation": "SWST", - "name": "SA Western Standard Time" - }, - { - "timezone": "America/Grenada", - "abbreviation": "SWST", - "name": "SA Western Standard Time" - }, - { - "timezone": "America/Guadeloupe", - "abbreviation": "SWST", - "name": "SA Western Standard Time" - }, - { - "timezone": "America/Guyana", - "abbreviation": "SWST", - "name": "SA Western Standard Time" - }, - { - "timezone": "America/Kralendijk", - "abbreviation": "SWST", - "name": "SA Western Standard Time" - }, - { - "timezone": "America/La_Paz", - "abbreviation": "SWST", - "name": "SA Western Standard Time" - }, - { - "timezone": "America/Lower_Princes", - "abbreviation": "SWST", - "name": "SA Western Standard Time" - }, - { - "timezone": "America/Manaus", - "abbreviation": "SWST", - "name": "SA Western Standard Time" - }, - { - "timezone": "America/Marigot", - "abbreviation": "SWST", - "name": "SA Western Standard Time" - }, - { - "timezone": "America/Martinique", - "abbreviation": "SWST", - "name": "SA Western Standard Time" - }, - { - "timezone": "America/Montserrat", - "abbreviation": "SWST", - "name": "SA Western Standard Time" - }, - { - "timezone": "America/Port_of_Spain", - "abbreviation": "SWST", - "name": "SA Western Standard Time" - }, - { - "timezone": "America/Porto_Velho", - "abbreviation": "SWST", - "name": "SA Western Standard Time" - }, - { - "timezone": "America/Puerto_Rico", - "abbreviation": "SWST", - "name": "SA Western Standard Time" - }, - { - "timezone": "America/Santo_Domingo", - "abbreviation": "SWST", - "name": "SA Western Standard Time" - }, - { - "timezone": "America/St_Barthelemy", - "abbreviation": "SWST", - "name": "SA Western Standard Time" - }, - { - "timezone": "America/St_Kitts", - "abbreviation": "SWST", - "name": "SA Western Standard Time" - }, - { - "timezone": "America/St_Lucia", - "abbreviation": "SWST", - "name": "SA Western Standard Time" - }, - { - "timezone": "America/St_Thomas", - "abbreviation": "SWST", - "name": "SA Western Standard Time" - }, - { - "timezone": "America/St_Vincent", - "abbreviation": "SWST", - "name": "SA Western Standard Time" - }, - { - "timezone": "America/Tortola", - "abbreviation": "SWST", - "name": "SA Western Standard Time" - }, - { - "timezone": "Etc/GMT+4", - "abbreviation": "SWST", - "name": "SA Western Standard Time" - }, - { - "timezone": "Europe/Istanbul", - "abbreviation": "TST", - "name": "Turkey Standard Time" - }, - { - "timezone": "Asia/Taipei", - "abbreviation": "TST", - "name": "Taipei Standard Time" - }, - { - "timezone": "Australia/Currie", - "abbreviation": "TST", - "name": "Tasmania Standard Time" - }, - { - "timezone": "Australia/Hobart", - "abbreviation": "TST", - "name": "Tasmania Standard Time" - }, - { - "timezone": "Etc/GMT-13", - "abbreviation": "TST", - "name": "Tonga Standard Time" - }, - { - "timezone": "Pacific/Enderbury", - "abbreviation": "TST", - "name": "Tonga Standard Time" - }, - { - "timezone": "Pacific/Fakaofo", - "abbreviation": "TST", - "name": "Tonga Standard Time" - }, - { - "timezone": "Pacific/Tongatapu", - "abbreviation": "TST", - "name": "Tonga Standard Time" - }, - { - "timezone": "Etc/GMT+11", - "abbreviation": "U", - "name": "UTC-11" - }, - { - "timezone": "Pacific/Midway", - "abbreviation": "U", - "name": "UTC-11" - }, - { - "timezone": "Pacific/Niue", - "abbreviation": "U", - "name": "UTC-11" - }, - { - "timezone": "Pacific/Pago_Pago", - "abbreviation": "U", - "name": "UTC-11" - }, - { - "timezone": "America/Noronha", - "abbreviation": "U", - "name": "UTC-02" - }, - { - "timezone": "Atlantic/South_Georgia", - "abbreviation": "U", - "name": "UTC-02" - }, - { - "timezone": "Etc/GMT+2", - "abbreviation": "U", - "name": "UTC-02" - }, - { - "timezone": "Etc/GMT-12", - "abbreviation": "U", - "name": "UTC+12" - }, - { - "timezone": "Pacific/Funafuti", - "abbreviation": "U", - "name": "UTC+12" - }, - { - "timezone": "Pacific/Kwajalein", - "abbreviation": "U", - "name": "UTC+12" - }, - { - "timezone": "Pacific/Majuro", - "abbreviation": "U", - "name": "UTC+12" - }, - { - "timezone": "Pacific/Nauru", - "abbreviation": "U", - "name": "UTC+12" - }, - { - "timezone": "Pacific/Tarawa", - "abbreviation": "U", - "name": "UTC+12" - }, - { - "timezone": "Pacific/Wake", - "abbreviation": "U", - "name": "UTC+12" - }, - { - "timezone": "Pacific/Wallis", - "abbreviation": "U", - "name": "UTC+12" - }, - { - "timezone": "America/Indiana/Marengo", - "abbreviation": "UEST", - "name": "US Eastern Standard Time" - }, - { - "timezone": "America/Indiana/Vevay", - "abbreviation": "UEST", - "name": "US Eastern Standard Time" - }, - { - "timezone": "America/Indianapolis", - "abbreviation": "UEST", - "name": "US Eastern Standard Time" - }, - { - "timezone": "America/Creston", - "abbreviation": "UMST", - "name": "US Mountain Standard Time" - }, - { - "timezone": "America/Dawson", - "abbreviation": "UMST", - "name": "US Mountain Standard Time" - }, - { - "timezone": "America/Dawson_Creek", - "abbreviation": "UMST", - "name": "US Mountain Standard Time" - }, - { - "timezone": "America/Hermosillo", - "abbreviation": "UMST", - "name": "US Mountain Standard Time" - }, - { - "timezone": "America/Phoenix", - "abbreviation": "UMST", - "name": "US Mountain Standard Time" - }, - { - "timezone": "America/Whitehorse", - "abbreviation": "UMST", - "name": "US Mountain Standard Time" - }, - { - "timezone": "Etc/GMT+7", - "abbreviation": "UMST", - "name": "US Mountain Standard Time" - }, - { - "timezone": "Asia/Choibalsan", - "abbreviation": "UST", - "name": "Ulaanbaatar Standard Time" - }, - { - "timezone": "Asia/Ulaanbaatar", - "abbreviation": "UST", - "name": "Ulaanbaatar Standard Time" - }, - { - "timezone": "America/Danmarkshavn", - "abbreviation": "UTC", - "name": "UTC" - }, - { - "timezone": "Etc/GMT", - "abbreviation": "UTC", - "name": "UTC" - }, - { - "timezone": "UTC", - "abbreviation": "UTC", - "name": "Coordinated Universal Time" - }, - { - "timezone": "America/Caracas", - "abbreviation": "VST", - "name": "Venezuela Standard Time" - }, - { - "timezone": "Asia/Sakhalin", - "abbreviation": "VST", - "name": "Vladivostok Standard Time" - }, - { - "timezone": "Asia/Ust-Nera", - "abbreviation": "VST", - "name": "Vladivostok Standard Time" - }, - { - "timezone": "Asia/Vladivostok", - "abbreviation": "VST", - "name": "Vladivostok Standard Time" - }, - { - "timezone": "Antarctica/Mawson", - "abbreviation": "WAST", - "name": "West Asia Standard Time" - }, - { - "timezone": "Asia/Aqtau", - "abbreviation": "WAST", - "name": "West Asia Standard Time" - }, - { - "timezone": "Asia/Aqtobe", - "abbreviation": "WAST", - "name": "West Asia Standard Time" - }, - { - "timezone": "Asia/Ashgabat", - "abbreviation": "WAST", - "name": "West Asia Standard Time" - }, - { - "timezone": "Asia/Dushanbe", - "abbreviation": "WAST", - "name": "West Asia Standard Time" - }, - { - "timezone": "Asia/Oral", - "abbreviation": "WAST", - "name": "West Asia Standard Time" - }, - { - "timezone": "Asia/Samarkand", - "abbreviation": "WAST", - "name": "West Asia Standard Time" - }, - { - "timezone": "Asia/Tashkent", - "abbreviation": "WAST", - "name": "West Asia Standard Time" - }, - { - "timezone": "Etc/GMT-5", - "abbreviation": "WAST", - "name": "West Asia Standard Time" - }, - { - "timezone": "Indian/Kerguelen", - "abbreviation": "WAST", - "name": "West Asia Standard Time" - }, - { - "timezone": "Indian/Maldives", - "abbreviation": "WAST", - "name": "West Asia Standard Time" - }, - { - "timezone": "Antarctica/Casey", - "abbreviation": "WAST", - "name": "W. Australia Standard Time" - }, - { - "timezone": "Australia/Perth", - "abbreviation": "WAST", - "name": "W. Australia Standard Time" - }, - { - "timezone": "Africa/Algiers", - "abbreviation": "WCAST", - "name": "W. Central Africa Standard Time" - }, - { - "timezone": "Africa/Bangui", - "abbreviation": "WCAST", - "name": "W. Central Africa Standard Time" - }, - { - "timezone": "Africa/Brazzaville", - "abbreviation": "WCAST", - "name": "W. Central Africa Standard Time" - }, - { - "timezone": "Africa/Douala", - "abbreviation": "WCAST", - "name": "W. Central Africa Standard Time" - }, - { - "timezone": "Africa/Kinshasa", - "abbreviation": "WCAST", - "name": "W. Central Africa Standard Time" - }, - { - "timezone": "Africa/Lagos", - "abbreviation": "WCAST", - "name": "W. Central Africa Standard Time" - }, - { - "timezone": "Africa/Libreville", - "abbreviation": "WCAST", - "name": "W. Central Africa Standard Time" - }, - { - "timezone": "Africa/Luanda", - "abbreviation": "WCAST", - "name": "W. Central Africa Standard Time" - }, - { - "timezone": "Africa/Malabo", - "abbreviation": "WCAST", - "name": "W. Central Africa Standard Time" - }, - { - "timezone": "Africa/Ndjamena", - "abbreviation": "WCAST", - "name": "W. Central Africa Standard Time" - }, - { - "timezone": "Africa/Niamey", - "abbreviation": "WCAST", - "name": "W. Central Africa Standard Time" - }, - { - "timezone": "Africa/Porto-Novo", - "abbreviation": "WCAST", - "name": "W. Central Africa Standard Time" - }, - { - "timezone": "Africa/Tunis", - "abbreviation": "WCAST", - "name": "W. Central Africa Standard Time" - }, - { - "timezone": "Etc/GMT-1", - "abbreviation": "WCAST", - "name": "W. Central Africa Standard Time" - }, - { - "timezone": "Arctic/Longyearbyen", - "abbreviation": "WEST", - "name": "W. Europe Standard Time" - }, - { - "timezone": "Europe/Amsterdam", - "abbreviation": "WEST", - "name": "W. Europe Standard Time" - }, - { - "timezone": "Europe/Andorra", - "abbreviation": "WEST", - "name": "W. Europe Standard Time" - }, - { - "timezone": "Europe/Berlin", - "abbreviation": "WEST", - "name": "W. Europe Standard Time" - }, - { - "timezone": "Europe/Busingen", - "abbreviation": "WEST", - "name": "W. Europe Standard Time" - }, - { - "timezone": "Europe/Gibraltar", - "abbreviation": "WEST", - "name": "W. Europe Standard Time" - }, - { - "timezone": "Europe/Luxembourg", - "abbreviation": "WEST", - "name": "W. Europe Standard Time" - }, - { - "timezone": "Europe/Malta", - "abbreviation": "WEST", - "name": "W. Europe Standard Time" - }, - { - "timezone": "Europe/Monaco", - "abbreviation": "WEST", - "name": "W. Europe Standard Time" - }, - { - "timezone": "Europe/Oslo", - "abbreviation": "WEST", - "name": "W. Europe Standard Time" - }, - { - "timezone": "Europe/Rome", - "abbreviation": "WEST", - "name": "W. Europe Standard Time" - }, - { - "timezone": "Europe/San_Marino", - "abbreviation": "WEST", - "name": "W. Europe Standard Time" - }, - { - "timezone": "Europe/Stockholm", - "abbreviation": "WEST", - "name": "W. Europe Standard Time" - }, - { - "timezone": "Europe/Vaduz", - "abbreviation": "WEST", - "name": "W. Europe Standard Time" - }, - { - "timezone": "Europe/Vatican", - "abbreviation": "WEST", - "name": "W. Europe Standard Time" - }, - { - "timezone": "Europe/Vienna", - "abbreviation": "WEST", - "name": "W. Europe Standard Time" - }, - { - "timezone": "Europe/Zurich", - "abbreviation": "WEST", - "name": "W. Europe Standard Time" - }, - { - "timezone": "Antarctica/DumontDUrville", - "abbreviation": "WPST", - "name": "West Pacific Standard Time" - }, - { - "timezone": "Etc/GMT-10", - "abbreviation": "WPST", - "name": "West Pacific Standard Time" - }, - { - "timezone": "Pacific/Guam", - "abbreviation": "WPST", - "name": "West Pacific Standard Time" - }, - { - "timezone": "Pacific/Port_Moresby", - "abbreviation": "WPST", - "name": "West Pacific Standard Time" - }, - { - "timezone": "Pacific/Saipan", - "abbreviation": "WPST", - "name": "West Pacific Standard Time" - }, - { - "timezone": "Pacific/Truk", - "abbreviation": "WPST", - "name": "West Pacific Standard Time" - }, - { - "timezone": "Asia/Yekaterinburg", - "abbreviation": "YEKT", - "name": "Yekaterinburg Time" - }, - { - "timezone": "Asia/Chita", - "abbreviation": "YST", - "name": "Yakutsk Standard Time" - }, - { - "timezone": "Asia/Khandyga", - "abbreviation": "YST", - "name": "Yakutsk Standard Time" - }, - { - "timezone": "Asia/Yakutsk", - "abbreviation": "YST", - "name": "Yakutsk Standard Time" - } -] diff --git a/src/Fieldtypes/Timezones.php b/src/Fieldtypes/Timezones.php deleted file mode 100644 index cb0e60f..0000000 --- a/src/Fieldtypes/Timezones.php +++ /dev/null @@ -1,83 +0,0 @@ -timezone($key))) { - return [ - 'abbreviation' => $key, - 'timezone' => $key, - ]; - } - - return $augmented; - } - - public function getIndexItems($request) - { - return collect($this->timezones()) - ->map(fn (array $zone) => $this->toItemArray($zone['timezone'])); - } - - public function preProcess($data) - { - if (is_array($data)) { - return [Arr::get($data, 'timezone')]; - } - - return Arr::wrap($data); - } - - public function preProcessIndex($key) - { - if (is_null($key)) { - return null; - } - - if (is_null($augmented = $this->timezone($key))) { - return $key; - } - - return $augmented['timezone']; - } - - protected function toItemArray($key) - { - if (is_null($key)) { - return []; - } - - if (is_null($zone = $this->timezone($key))) { - return []; - } - - return [ - 'id' => $key, - 'title' => $key.' ('.$zone['abbreviation'].')', - ]; - } - - private function timezone(string $key): ?array - { - return collect($this->timezones())->firstWhere('timezone', $key); - } - - /** - * @return array - */ - private function timezones() - { - return cache()->rememberForever( - 'timezones', - fn () => json_decode(file_get_contents(__DIR__.'/../../resources/timezones.json'), true) - ); - } -} diff --git a/src/ServiceProvider.php b/src/ServiceProvider.php index 000d480..ed5fc6a 100644 --- a/src/ServiceProvider.php +++ b/src/ServiceProvider.php @@ -10,9 +10,9 @@ use Statamic\Facades\Site; use Statamic\Fields\Field; use Statamic\Fields\Value; +use Statamic\Fieldtypes\Dictionary; use Statamic\Providers\AddonServiceProvider; use Statamic\Statamic; -use TransformStudios\Events\Fieldtypes\Timezones; class ServiceProvider extends AddonServiceProvider { @@ -81,7 +81,7 @@ private function timezone(Entry $entry, $value): string|Value { $value ??= Events::timezone(); - if ($entry->blueprint()->fields()->get('timezone')?->fieldtype() instanceof Timezones) { + if ($entry->blueprint()->fields()->get('timezone')?->fieldtype() instanceof Dictionary) { return $value; } From 24edb775dbd5351ca25784b1465075a9c91a0df2 Mon Sep 17 00:00:00 2001 From: edalzell Date: Thu, 6 Nov 2025 15:09:11 -0800 Subject: [PATCH 2/3] =?UTF-8?q?it=E2=80=99s=20`name`=20now?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Types/Event.php | 8 ++++---- src/Types/MultiDayEvent.php | 2 +- src/Types/RecurringEvent.php | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Types/Event.php b/src/Types/Event.php index 8834234..4cdabf7 100644 --- a/src/Types/Event.php +++ b/src/Types/Event.php @@ -87,14 +87,14 @@ public function startTime(): string public function start(): CarbonImmutable { return CarbonImmutable::parse($this->start_date) - ->shiftTimezone($this->timezone['timezone']) + ->shiftTimezone($this->timezone['name']) ->setTimeFromTimeString($this->startTime()); } public function end(): CarbonImmutable { return CarbonImmutable::parse($this->start_date) - ->shiftTimezone($this->timezone['timezone']) + ->shiftTimezone($this->timezone['name']) ->setTimeFromTimeString($this->endTime()); } @@ -169,14 +169,14 @@ protected function toCarbonImmutable(string|CarbonInterface $date): CarbonImmuta { $carbon = is_string($date) ? Carbon::parse($date) : $date; - return $carbon->shiftTimezone($this->timezone['timezone'])->toImmutable(); + return $carbon->shiftTimezone($this->timezone['name'])->toImmutable(); } private function collect(array $dates): Collection { return collect($dates) ->map(fn (DateTimeInterface $date) => $this->supplement( - date: CarbonImmutable::parse($date, $this->timezone['timezone']) + date: CarbonImmutable::parse($date, $this->timezone['name']) ))->filter(); } } diff --git a/src/Types/MultiDayEvent.php b/src/Types/MultiDayEvent.php index 5eaa7e7..c1a8a98 100644 --- a/src/Types/MultiDayEvent.php +++ b/src/Types/MultiDayEvent.php @@ -25,7 +25,7 @@ public function __construct(Entry $event, private bool $collapseMultiDays) ->sortBy('date') ->map(fn (Values $day) => new Day( $day->all(), - $this->timezone['timezone'], + $this->timezone['name'], $day->all_day || $this->isAllDay(), )); } diff --git a/src/Types/RecurringEvent.php b/src/Types/RecurringEvent.php index a59482a..677fa9e 100644 --- a/src/Types/RecurringEvent.php +++ b/src/Types/RecurringEvent.php @@ -57,7 +57,7 @@ protected function rule(): RRuleInterface ]; if ($end = $this->end_date) { - $rule['until'] = Carbon::parse($end)->shiftTimezone($this->timezone['timezone'])->endOfDay(); + $rule['until'] = Carbon::parse($end)->shiftTimezone($this->timezone['name'])->endOfDay(); } if (! empty($days = $this->onSpecificDays())) { From 3f39b5df0551d5620153e2bfd203175c1698249c Mon Sep 17 00:00:00 2001 From: edalzell Date: Thu, 6 Nov 2025 15:19:17 -0800 Subject: [PATCH 3/3] not clearable --- resources/fieldsets/event.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/resources/fieldsets/event.yaml b/resources/fieldsets/event.yaml index 8267c60..8e1738f 100644 --- a/resources/fieldsets/event.yaml +++ b/resources/fieldsets/event.yaml @@ -18,7 +18,6 @@ fields: handle: timezone field: dictionary: timezones - clearable: true max_items: 1 default: UTC type: dictionary