From 733060d7705f760ce60fadcf818a1fe7ff5c8bb5 Mon Sep 17 00:00:00 2001 From: rui hildt Date: Wed, 27 May 2020 20:49:49 +0200 Subject: [PATCH] Implement TimezonePicker component --- .../{timezones.js => timezonesCascade.js} | 0 src/assets/data/timezonesFlat.js | 2555 +++++++++++++++++ src/assets/data/timezonesStructured.js | 2235 ++++++++++++++ src/components/General/TimezonePicker.js | 26 + src/components/General/TimezonesCascader.js | 17 - src/screens/Register.js | 4 +- src/screens/Schedule.js | 6 +- 7 files changed, 4821 insertions(+), 22 deletions(-) rename src/assets/data/{timezones.js => timezonesCascade.js} (100%) create mode 100644 src/assets/data/timezonesFlat.js create mode 100644 src/assets/data/timezonesStructured.js create mode 100644 src/components/General/TimezonePicker.js delete mode 100644 src/components/General/TimezonesCascader.js diff --git a/src/assets/data/timezones.js b/src/assets/data/timezonesCascade.js similarity index 100% rename from src/assets/data/timezones.js rename to src/assets/data/timezonesCascade.js diff --git a/src/assets/data/timezonesFlat.js b/src/assets/data/timezonesFlat.js new file mode 100644 index 0000000..f527ff5 --- /dev/null +++ b/src/assets/data/timezonesFlat.js @@ -0,0 +1,2555 @@ +// Data compiled from https://timezonedb.com/ +// License: https://creativecommons.org/licenses/by/3.0/ + +export const timezones = [ + { + timezone: 'Africa/Abidjan', + country: "Côte d'Ivoire", + area: 'Africa', + locality: 'Abidjan', + }, + { + timezone: 'Africa/Accra', + country: 'Ghana', + area: 'Africa', + locality: 'Accra', + }, + { + timezone: 'Africa/Addis_Ababa', + country: 'Ethiopia', + area: 'Africa', + locality: 'Addis Ababa', + }, + { + timezone: 'Africa/Algiers', + country: 'Algeria', + area: 'Africa', + locality: 'Algiers', + }, + { + timezone: 'Africa/Asmara', + country: 'Eritrea', + area: 'Africa', + locality: 'Asmara', + }, + { + timezone: 'Africa/Bamako', + country: 'Mali', + area: 'Africa', + locality: 'Bamako', + }, + { + timezone: 'Africa/Bangui', + country: 'Central African Republic', + area: 'Africa', + locality: 'Bangui', + }, + { + timezone: 'Africa/Banjul', + country: 'Gambia', + area: 'Africa', + locality: 'Banjul', + }, + { + timezone: 'Africa/Bissau', + country: 'Guinea-Bissau', + area: 'Africa', + locality: 'Bissau', + }, + { + timezone: 'Africa/Blantyre', + country: 'Malawi', + area: 'Africa', + locality: 'Blantyre', + }, + { + timezone: 'Africa/Brazzaville', + country: 'Congo', + area: 'Africa', + locality: 'Brazzaville', + }, + { + timezone: 'Africa/Bujumbura', + country: 'Burundi', + area: 'Africa', + locality: 'Bujumbura', + }, + { + timezone: 'Africa/Cairo', + country: 'Egypt', + area: 'Africa', + locality: 'Cairo', + }, + { + timezone: 'Africa/Casablanca', + country: 'Morocco', + area: 'Africa', + locality: 'Casablanca', + }, + { + timezone: 'Africa/Ceuta', + country: 'Spain', + area: 'Africa', + locality: 'Ceuta', + }, + { + timezone: 'Africa/Conakry', + country: 'Guinea', + area: 'Africa', + locality: 'Conakry', + }, + { + timezone: 'Africa/Dakar', + country: 'Senegal', + area: 'Africa', + locality: 'Dakar', + }, + { + timezone: 'Africa/Dar_es_Salaam', + country: 'Tanzania, United Republic of', + area: 'Africa', + locality: 'Dar es Salaam', + }, + { + timezone: 'Africa/Djibouti', + country: 'Djibouti', + area: 'Africa', + locality: 'Djibouti', + }, + { + timezone: 'Africa/Douala', + country: 'Cameroon', + area: 'Africa', + locality: 'Douala', + }, + { + timezone: 'Africa/El_Aaiun', + country: 'Western Sahara', + area: 'Africa', + locality: 'El Aaiun', + }, + { + timezone: 'Africa/Freetown', + country: 'Sierra Leone', + area: 'Africa', + locality: 'Freetown', + }, + { + timezone: 'Africa/Gaborone', + country: 'Botswana', + area: 'Africa', + locality: 'Gaborone', + }, + { + timezone: 'Africa/Harare', + country: 'Zimbabwe', + area: 'Africa', + locality: 'Harare', + }, + { + timezone: 'Africa/Johannesburg', + country: 'South Africa', + area: 'Africa', + locality: 'Johannesburg', + }, + { + timezone: 'Africa/Juba', + country: 'South Sudan', + area: 'Africa', + locality: 'Juba', + }, + { + timezone: 'Africa/Kampala', + country: 'Uganda', + area: 'Africa', + locality: 'Kampala', + }, + { + timezone: 'Africa/Khartoum', + country: 'Sudan', + area: 'Africa', + locality: 'Khartoum', + }, + { + timezone: 'Africa/Kigali', + country: 'Rwanda', + area: 'Africa', + locality: 'Kigali', + }, + { + timezone: 'Africa/Kinshasa', + country: 'Congo, the Democratic Republic of the', + area: 'Africa', + locality: 'Kinshasa', + }, + { + timezone: 'Africa/Lagos', + country: 'Nigeria', + area: 'Africa', + locality: 'Lagos', + }, + { + timezone: 'Africa/Libreville', + country: 'Gabon', + area: 'Africa', + locality: 'Libreville', + }, + { + timezone: 'Africa/Lome', + country: 'Togo', + area: 'Africa', + locality: 'Lome', + }, + { + timezone: 'Africa/Luanda', + country: 'Angola', + area: 'Africa', + locality: 'Luanda', + }, + { + timezone: 'Africa/Lubumbashi', + country: 'Congo, the Democratic Republic of the', + area: 'Africa', + locality: 'Lubumbashi', + }, + { + timezone: 'Africa/Lusaka', + country: 'Zambia', + area: 'Africa', + locality: 'Lusaka', + }, + { + timezone: 'Africa/Malabo', + country: 'Equatorial Guinea', + area: 'Africa', + locality: 'Malabo', + }, + { + timezone: 'Africa/Maputo', + country: 'Mozambique', + area: 'Africa', + locality: 'Maputo', + }, + { + timezone: 'Africa/Maseru', + country: 'Lesotho', + area: 'Africa', + locality: 'Maseru', + }, + { + timezone: 'Africa/Mbabane', + country: 'Swaziland', + area: 'Africa', + locality: 'Mbabane', + }, + { + timezone: 'Africa/Mogadishu', + country: 'Somalia', + area: 'Africa', + locality: 'Mogadishu', + }, + { + timezone: 'Africa/Monrovia', + country: 'Liberia', + area: 'Africa', + locality: 'Monrovia', + }, + { + timezone: 'Africa/Nairobi', + country: 'Kenya', + area: 'Africa', + locality: 'Nairobi', + }, + { + timezone: 'Africa/Ndjamena', + country: 'Chad', + area: 'Africa', + locality: 'Ndjamena', + }, + { + timezone: 'Africa/Niamey', + country: 'Niger', + area: 'Africa', + locality: 'Niamey', + }, + { + timezone: 'Africa/Nouakchott', + country: 'Mauritania', + area: 'Africa', + locality: 'Nouakchott', + }, + { + timezone: 'Africa/Ouagadougou', + country: 'Burkina Faso', + area: 'Africa', + locality: 'Ouagadougou', + }, + { + timezone: 'Africa/Porto-Novo', + country: 'Benin', + area: 'Africa', + locality: 'Porto-Novo', + }, + { + timezone: 'Africa/Sao_Tome', + country: 'Sao Tome and Principe', + area: 'Africa', + locality: 'Sao Tome', + }, + { + timezone: 'Africa/Tripoli', + country: 'Libya', + area: 'Africa', + locality: 'Tripoli', + }, + { + timezone: 'Africa/Tunis', + country: 'Tunisia', + area: 'Africa', + locality: 'Tunis', + }, + { + timezone: 'Africa/Windhoek', + country: 'Namibia', + area: 'Africa', + locality: 'Windhoek', + }, + { + timezone: 'America/Adak', + country: 'United States', + area: 'America', + locality: 'Adak', + }, + { + timezone: 'America/Anchorage', + country: 'United States', + area: 'America', + locality: 'Anchorage', + }, + { + timezone: 'America/Anguilla', + country: 'Anguilla', + area: 'America', + locality: 'Anguilla', + }, + { + timezone: 'America/Antigua', + country: 'Antigua and Barbuda', + area: 'America', + locality: 'Antigua', + }, + { + timezone: 'America/Araguaina', + country: 'Brazil', + area: 'America', + locality: 'Araguaina', + }, + { + timezone: 'America/Argentina/Buenos_Aires', + country: 'Argentina', + area: 'America', + locality: 'Buenos Aires', + }, + { + timezone: 'America/Argentina/Catamarca', + country: 'Argentina', + area: 'America', + locality: 'Catamarca', + }, + { + timezone: 'America/Argentina/Cordoba', + country: 'Argentina', + area: 'America', + locality: 'Cordoba', + }, + { + timezone: 'America/Argentina/Jujuy', + country: 'Argentina', + area: 'America', + locality: 'Jujuy', + }, + { + timezone: 'America/Argentina/La_Rioja', + country: 'Argentina', + area: 'America', + locality: 'La Rioja', + }, + { + timezone: 'America/Argentina/Mendoza', + country: 'Argentina', + area: 'America', + locality: 'Mendoza', + }, + { + timezone: 'America/Argentina/Rio_Gallegos', + country: 'Argentina', + area: 'America', + locality: 'Rio Gallegos', + }, + { + timezone: 'America/Argentina/Salta', + country: 'Argentina', + area: 'America', + locality: 'Salta', + }, + { + timezone: 'America/Argentina/San_Juan', + country: 'Argentina', + area: 'America', + locality: 'San Juan', + }, + { + timezone: 'America/Argentina/San_Luis', + country: 'Argentina', + area: 'America', + locality: 'San Luis', + }, + { + timezone: 'America/Argentina/Tucuman', + country: 'Argentina', + area: 'America', + locality: 'Tucuman', + }, + { + timezone: 'America/Argentina/Ushuaia', + country: 'Argentina', + area: 'America', + locality: 'Ushuaia', + }, + { + timezone: 'America/Aruba', + country: 'Aruba', + area: 'America', + locality: 'Aruba', + }, + { + timezone: 'America/Asuncion', + country: 'Paraguay', + area: 'America', + locality: 'Asuncion', + }, + { + timezone: 'America/Atikokan', + country: 'Canada', + area: 'America', + locality: 'Atikokan', + }, + { + timezone: 'America/Bahia', + country: 'Brazil', + area: 'America', + locality: 'Bahia', + }, + { + timezone: 'America/Bahia_Banderas', + country: 'Mexico', + area: 'America', + locality: 'Bahia Banderas', + }, + { + timezone: 'America/Barbados', + country: 'Barbados', + area: 'America', + locality: 'Barbados', + }, + { + timezone: 'America/Belem', + country: 'Brazil', + area: 'America', + locality: 'Belem', + }, + { + timezone: 'America/Belize', + country: 'Belize', + area: 'America', + locality: 'Belize', + }, + { + timezone: 'America/Blanc-Sablon', + country: 'Canada', + area: 'America', + locality: 'Blanc-Sablon', + }, + { + timezone: 'America/Boa_Vista', + country: 'Brazil', + area: 'America', + locality: 'Boa Vista', + }, + { + timezone: 'America/Bogota', + country: 'Colombia', + area: 'America', + locality: 'Bogota', + }, + { + timezone: 'America/Boise', + country: 'United States', + area: 'America', + locality: 'Boise', + }, + { + timezone: 'America/Cambridge_Bay', + country: 'Canada', + area: 'America', + locality: 'Cambridge Bay', + }, + { + timezone: 'America/Campo_Grande', + country: 'Brazil', + area: 'America', + locality: 'Campo Grande', + }, + { + timezone: 'America/Cancun', + country: 'Mexico', + area: 'America', + locality: 'Cancun', + }, + { + timezone: 'America/Caracas', + country: 'Venezuela, Bolivarian Republic of', + area: 'America', + locality: 'Caracas', + }, + { + timezone: 'America/Cayenne', + country: 'French Guiana', + area: 'America', + locality: 'Cayenne', + }, + { + timezone: 'America/Cayman', + country: 'Cayman Islands', + area: 'America', + locality: 'Cayman', + }, + { + timezone: 'America/Chicago', + country: 'United States', + area: 'America', + locality: 'Chicago', + }, + { + timezone: 'America/Chihuahua', + country: 'Mexico', + area: 'America', + locality: 'Chihuahua', + }, + { + timezone: 'America/Costa_Rica', + country: 'Costa Rica', + area: 'America', + locality: 'Costa Rica', + }, + { + timezone: 'America/Creston', + country: 'Canada', + area: 'America', + locality: 'Creston', + }, + { + timezone: 'America/Cuiaba', + country: 'Brazil', + area: 'America', + locality: 'Cuiaba', + }, + { + timezone: 'America/Curacao', + country: 'Curaçao', + area: 'America', + locality: 'Curacao', + }, + { + timezone: 'America/Danmarkshavn', + country: 'Greenland', + area: 'America', + locality: 'Danmarkshavn', + }, + { + timezone: 'America/Dawson', + country: 'Canada', + area: 'America', + locality: 'Dawson', + }, + { + timezone: 'America/Dawson_Creek', + country: 'Canada', + area: 'America', + locality: 'Dawson Creek', + }, + { + timezone: 'America/Denver', + country: 'United States', + area: 'America', + locality: 'Denver', + }, + { + timezone: 'America/Detroit', + country: 'United States', + area: 'America', + locality: 'Detroit', + }, + { + timezone: 'America/Dominica', + country: 'Dominica', + area: 'America', + locality: 'Dominica', + }, + { + timezone: 'America/Edmonton', + country: 'Canada', + area: 'America', + locality: 'Edmonton', + }, + { + timezone: 'America/Eirunepe', + country: 'Brazil', + area: 'America', + locality: 'Eirunepe', + }, + { + timezone: 'America/El_Salvador', + country: 'El Salvador', + area: 'America', + locality: 'El Salvador', + }, + { + timezone: 'America/Fort_Nelson', + country: 'Canada', + area: 'America', + locality: 'Fort Nelson', + }, + { + timezone: 'America/Fortaleza', + country: 'Brazil', + area: 'America', + locality: 'Fortaleza', + }, + { + timezone: 'America/Glace_Bay', + country: 'Canada', + area: 'America', + locality: 'Glace Bay', + }, + { + timezone: 'America/Goose_Bay', + country: 'Canada', + area: 'America', + locality: 'Goose Bay', + }, + { + timezone: 'America/Grand_Turk', + country: 'Turks and Caicos Islands', + area: 'America', + locality: 'Grand Turk', + }, + { + timezone: 'America/Grenada', + country: 'Grenada', + area: 'America', + locality: 'Grenada', + }, + { + timezone: 'America/Guadeloupe', + country: 'Guadeloupe', + area: 'America', + locality: 'Guadeloupe', + }, + { + timezone: 'America/Guatemala', + country: 'Guatemala', + area: 'America', + locality: 'Guatemala', + }, + { + timezone: 'America/Guayaquil', + country: 'Ecuador', + area: 'America', + locality: 'Guayaquil', + }, + { + timezone: 'America/Guyana', + country: 'Guyana', + area: 'America', + locality: 'Guyana', + }, + { + timezone: 'America/Halifax', + country: 'Canada', + area: 'America', + locality: 'Halifax', + }, + { + timezone: 'America/Havana', + country: 'Cuba', + area: 'America', + locality: 'Havana', + }, + { + timezone: 'America/Hermosillo', + country: 'Mexico', + area: 'America', + locality: 'Hermosillo', + }, + { + timezone: 'America/Indiana/Indianapolis', + country: 'United States', + area: 'America', + locality: 'Indianapolis', + }, + { + timezone: 'America/Indiana/Knox', + country: 'United States', + area: 'America', + locality: 'Knox', + }, + { + timezone: 'America/Indiana/Marengo', + country: 'United States', + area: 'America', + locality: 'Marengo', + }, + { + timezone: 'America/Indiana/Petersburg', + country: 'United States', + area: 'America', + locality: 'Petersburg', + }, + { + timezone: 'America/Indiana/Tell_City', + country: 'United States', + area: 'America', + locality: 'Tell City', + }, + { + timezone: 'America/Indiana/Vevay', + country: 'United States', + area: 'America', + locality: 'Vevay', + }, + { + timezone: 'America/Indiana/Vincennes', + country: 'United States', + area: 'America', + locality: 'Vincennes', + }, + { + timezone: 'America/Indiana/Winamac', + country: 'United States', + area: 'America', + locality: 'Winamac', + }, + { + timezone: 'America/Inuvik', + country: 'Canada', + area: 'America', + locality: 'Inuvik', + }, + { + timezone: 'America/Iqaluit', + country: 'Canada', + area: 'America', + locality: 'Iqaluit', + }, + { + timezone: 'America/Jamaica', + country: 'Jamaica', + area: 'America', + locality: 'Jamaica', + }, + { + timezone: 'America/Juneau', + country: 'United States', + area: 'America', + locality: 'Juneau', + }, + { + timezone: 'America/Kentucky/Louisville', + country: 'United States', + area: 'America', + locality: 'Louisville', + }, + { + timezone: 'America/Kentucky/Monticello', + country: 'United States', + area: 'America', + locality: 'Monticello', + }, + { + timezone: 'America/Kralendijk', + country: 'Bonaire, Sint Eustatius and Saba', + area: 'America', + locality: 'Kralendijk', + }, + { + timezone: 'America/La_Paz', + country: 'Bolivia, Plurinational State of', + area: 'America', + locality: 'La Paz', + }, + { + timezone: 'America/Lima', + country: 'Peru', + area: 'America', + locality: 'Lima', + }, + { + timezone: 'America/Los_Angeles', + country: 'United States', + area: 'America', + locality: 'Los Angeles', + }, + { + timezone: 'America/Lower_Princes', + country: 'Sint Maarten (Dutch part)', + area: 'America', + locality: 'Lower Princes', + }, + { + timezone: 'America/Maceio', + country: 'Brazil', + area: 'America', + locality: 'Maceio', + }, + { + timezone: 'America/Managua', + country: 'Nicaragua', + area: 'America', + locality: 'Managua', + }, + { + timezone: 'America/Manaus', + country: 'Brazil', + area: 'America', + locality: 'Manaus', + }, + { + timezone: 'America/Marigot', + country: 'Saint Martin (French part)', + area: 'America', + locality: 'Marigot', + }, + { + timezone: 'America/Martinique', + country: 'Martinique', + area: 'America', + locality: 'Martinique', + }, + { + timezone: 'America/Matamoros', + country: 'Mexico', + area: 'America', + locality: 'Matamoros', + }, + { + timezone: 'America/Mazatlan', + country: 'Mexico', + area: 'America', + locality: 'Mazatlan', + }, + { + timezone: 'America/Menominee', + country: 'United States', + area: 'America', + locality: 'Menominee', + }, + { + timezone: 'America/Merida', + country: 'Mexico', + area: 'America', + locality: 'Merida', + }, + { + timezone: 'America/Metlakatla', + country: 'United States', + area: 'America', + locality: 'Metlakatla', + }, + { + timezone: 'America/Mexico_City', + country: 'Mexico', + area: 'America', + locality: 'Mexico City', + }, + { + timezone: 'America/Miquelon', + country: 'Saint Pierre and Miquelon', + area: 'America', + locality: 'Miquelon', + }, + { + timezone: 'America/Moncton', + country: 'Canada', + area: 'America', + locality: 'Moncton', + }, + { + timezone: 'America/Monterrey', + country: 'Mexico', + area: 'America', + locality: 'Monterrey', + }, + { + timezone: 'America/Montevideo', + country: 'Uruguay', + area: 'America', + locality: 'Montevideo', + }, + { + timezone: 'America/Montserrat', + country: 'Montserrat', + area: 'America', + locality: 'Montserrat', + }, + { + timezone: 'America/Nassau', + country: 'Bahamas', + area: 'America', + locality: 'Nassau', + }, + { + timezone: 'America/New_York', + country: 'United States', + area: 'America', + locality: 'New York', + }, + { + timezone: 'America/Nipigon', + country: 'Canada', + area: 'America', + locality: 'Nipigon', + }, + { + timezone: 'America/Nome', + country: 'United States', + area: 'America', + locality: 'Nome', + }, + { + timezone: 'America/Noronha', + country: 'Brazil', + area: 'America', + locality: 'Noronha', + }, + { + timezone: 'America/North_Dakota/Beulah', + country: 'United States', + area: 'America', + locality: 'Beulah', + }, + { + timezone: 'America/North_Dakota/Center', + country: 'United States', + area: 'America', + locality: 'Center', + }, + { + timezone: 'America/North_Dakota/New_Salem', + country: 'United States', + area: 'America', + locality: 'New Salem', + }, + { + timezone: 'America/Nuuk', + country: 'Greenland', + area: 'America', + locality: 'Nuuk', + }, + { + timezone: 'America/Ojinaga', + country: 'Mexico', + area: 'America', + locality: 'Ojinaga', + }, + { + timezone: 'America/Panama', + country: 'Panama', + area: 'America', + locality: 'Panama', + }, + { + timezone: 'America/Pangnirtung', + country: 'Canada', + area: 'America', + locality: 'Pangnirtung', + }, + { + timezone: 'America/Paramaribo', + country: 'Suriname', + area: 'America', + locality: 'Paramaribo', + }, + { + timezone: 'America/Phoenix', + country: 'United States', + area: 'America', + locality: 'Phoenix', + }, + { + timezone: 'America/Port_of_Spain', + country: 'Trinidad and Tobago', + area: 'America', + locality: 'Port of Spain', + }, + { + timezone: 'America/Port-au-Prince', + country: 'Haiti', + area: 'America', + locality: 'Port-au-Prince', + }, + { + timezone: 'America/Porto_Velho', + country: 'Brazil', + area: 'America', + locality: 'Porto Velho', + }, + { + timezone: 'America/Puerto_Rico', + country: 'Puerto Rico', + area: 'America', + locality: 'Puerto Rico', + }, + { + timezone: 'America/Punta_Arenas', + country: 'Chile', + area: 'America', + locality: 'Punta Arenas', + }, + { + timezone: 'America/Rainy_River', + country: 'Canada', + area: 'America', + locality: 'Rainy River', + }, + { + timezone: 'America/Rankin_Inlet', + country: 'Canada', + area: 'America', + locality: 'Rankin Inlet', + }, + { + timezone: 'America/Recife', + country: 'Brazil', + area: 'America', + locality: 'Recife', + }, + { + timezone: 'America/Regina', + country: 'Canada', + area: 'America', + locality: 'Regina', + }, + { + timezone: 'America/Resolute', + country: 'Canada', + area: 'America', + locality: 'Resolute', + }, + { + timezone: 'America/Rio_Branco', + country: 'Brazil', + area: 'America', + locality: 'Rio Branco', + }, + { + timezone: 'America/Santarem', + country: 'Brazil', + area: 'America', + locality: 'Santarem', + }, + { + timezone: 'America/Santiago', + country: 'Chile', + area: 'America', + locality: 'Santiago', + }, + { + timezone: 'America/Santo_Domingo', + country: 'Dominican Republic', + area: 'America', + locality: 'Santo Domingo', + }, + { + timezone: 'America/Sao_Paulo', + country: 'Brazil', + area: 'America', + locality: 'Sao Paulo', + }, + { + timezone: 'America/Scoresbysund', + country: 'Greenland', + area: 'America', + locality: 'Scoresbysund', + }, + { + timezone: 'America/Sitka', + country: 'United States', + area: 'America', + locality: 'Sitka', + }, + { + timezone: 'America/St_Barthelemy', + country: 'Saint Barthélemy', + area: 'America', + locality: 'St Barthelemy', + }, + { + timezone: 'America/St_Johns', + country: 'Canada', + area: 'America', + locality: 'St Johns', + }, + { + timezone: 'America/St_Kitts', + country: 'Saint Kitts and Nevis', + area: 'America', + locality: 'St Kitts', + }, + { + timezone: 'America/St_Lucia', + country: 'Saint Lucia', + area: 'America', + locality: 'St Lucia', + }, + { + timezone: 'America/St_Thomas', + country: 'Virgin Islands, U.S.', + area: 'America', + locality: 'St Thomas', + }, + { + timezone: 'America/St_Vincent', + country: 'Saint Vincent and the Grenadines', + area: 'America', + locality: 'St Vincent', + }, + { + timezone: 'America/Swift_Current', + country: 'Canada', + area: 'America', + locality: 'Swift Current', + }, + { + timezone: 'America/Tegucigalpa', + country: 'Honduras', + area: 'America', + locality: 'Tegucigalpa', + }, + { + timezone: 'America/Thule', + country: 'Greenland', + area: 'America', + locality: 'Thule', + }, + { + timezone: 'America/Thunder_Bay', + country: 'Canada', + area: 'America', + locality: 'Thunder Bay', + }, + { + timezone: 'America/Tijuana', + country: 'Mexico', + area: 'America', + locality: 'Tijuana', + }, + { + timezone: 'America/Toronto', + country: 'Canada', + area: 'America', + locality: 'Toronto', + }, + { + timezone: 'America/Tortola', + country: 'Virgin Islands, British', + area: 'America', + locality: 'Tortola', + }, + { + timezone: 'America/Vancouver', + country: 'Canada', + area: 'America', + locality: 'Vancouver', + }, + { + timezone: 'America/Whitehorse', + country: 'Canada', + area: 'America', + locality: 'Whitehorse', + }, + { + timezone: 'America/Winnipeg', + country: 'Canada', + area: 'America', + locality: 'Winnipeg', + }, + { + timezone: 'America/Yakutat', + country: 'United States', + area: 'America', + locality: 'Yakutat', + }, + { + timezone: 'America/Yellowknife', + country: 'Canada', + area: 'America', + locality: 'Yellowknife', + }, + { + timezone: 'Antarctica/Casey', + country: 'Antarctica', + area: 'Antarctica', + locality: 'Casey', + }, + { + timezone: 'Antarctica/Davis', + country: 'Antarctica', + area: 'Antarctica', + locality: 'Davis', + }, + { + timezone: 'Antarctica/DumontDUrville', + country: 'Antarctica', + area: 'Antarctica', + locality: 'DumontDUrville', + }, + { + timezone: 'Antarctica/Macquarie', + country: 'Australia', + area: 'Antarctica', + locality: 'Macquarie', + }, + { + timezone: 'Antarctica/Mawson', + country: 'Antarctica', + area: 'Antarctica', + locality: 'Mawson', + }, + { + timezone: 'Antarctica/McMurdo', + country: 'Antarctica', + area: 'Antarctica', + locality: 'McMurdo', + }, + { + timezone: 'Antarctica/Palmer', + country: 'Antarctica', + area: 'Antarctica', + locality: 'Palmer', + }, + { + timezone: 'Antarctica/Rothera', + country: 'Antarctica', + area: 'Antarctica', + locality: 'Rothera', + }, + { + timezone: 'Antarctica/Syowa', + country: 'Antarctica', + area: 'Antarctica', + locality: 'Syowa', + }, + { + timezone: 'Antarctica/Troll', + country: 'Antarctica', + area: 'Antarctica', + locality: 'Troll', + }, + { + timezone: 'Antarctica/Vostok', + country: 'Antarctica', + area: 'Antarctica', + locality: 'Vostok', + }, + { + timezone: 'Arctic/Longyearbyen', + country: 'Svalbard and Jan Mayen', + area: 'Arctic', + locality: 'Longyearbyen', + }, + { + timezone: 'Asia/Aden', + country: 'Yemen', + area: 'Asia', + locality: 'Aden', + }, + { + timezone: 'Asia/Almaty', + country: 'Kazakhstan', + area: 'Asia', + locality: 'Almaty', + }, + { + timezone: 'Asia/Amman', + country: 'Jordan', + area: 'Asia', + locality: 'Amman', + }, + { + timezone: 'Asia/Anadyr', + country: 'Russian Federation', + area: 'Asia', + locality: 'Anadyr', + }, + { + timezone: 'Asia/Aqtau', + country: 'Kazakhstan', + area: 'Asia', + locality: 'Aqtau', + }, + { + timezone: 'Asia/Aqtobe', + country: 'Kazakhstan', + area: 'Asia', + locality: 'Aqtobe', + }, + { + timezone: 'Asia/Ashgabat', + country: 'Turkmenistan', + area: 'Asia', + locality: 'Ashgabat', + }, + { + timezone: 'Asia/Atyrau', + country: 'Kazakhstan', + area: 'Asia', + locality: 'Atyrau', + }, + { + timezone: 'Asia/Baghdad', + country: 'Iraq', + area: 'Asia', + locality: 'Baghdad', + }, + { + timezone: 'Asia/Bahrain', + country: 'Bahrain', + area: 'Asia', + locality: 'Bahrain', + }, + { + timezone: 'Asia/Baku', + country: 'Azerbaijan', + area: 'Asia', + locality: 'Baku', + }, + { + timezone: 'Asia/Bangkok', + country: 'Thailand', + area: 'Asia', + locality: 'Bangkok', + }, + { + timezone: 'Asia/Barnaul', + country: 'Russian Federation', + area: 'Asia', + locality: 'Barnaul', + }, + { + timezone: 'Asia/Beirut', + country: 'Lebanon', + area: 'Asia', + locality: 'Beirut', + }, + { + timezone: 'Asia/Bishkek', + country: 'Kyrgyzstan', + area: 'Asia', + locality: 'Bishkek', + }, + { + timezone: 'Asia/Brunei', + country: 'Brunei Darussalam', + area: 'Asia', + locality: 'Brunei', + }, + { + timezone: 'Asia/Chita', + country: 'Russian Federation', + area: 'Asia', + locality: 'Chita', + }, + { + timezone: 'Asia/Choibalsan', + country: 'Mongolia', + area: 'Asia', + locality: 'Choibalsan', + }, + { + timezone: 'Asia/Colombo', + country: 'Sri Lanka', + area: 'Asia', + locality: 'Colombo', + }, + { + timezone: 'Asia/Damascus', + country: 'Syrian Arab Republic', + area: 'Asia', + locality: 'Damascus', + }, + { + timezone: 'Asia/Dhaka', + country: 'Bangladesh', + area: 'Asia', + locality: 'Dhaka', + }, + { + timezone: 'Asia/Dili', + country: 'Timor-Leste', + area: 'Asia', + locality: 'Dili', + }, + { + timezone: 'Asia/Dubai', + country: 'United Arab Emirates', + area: 'Asia', + locality: 'Dubai', + }, + { + timezone: 'Asia/Dushanbe', + country: 'Tajikistan', + area: 'Asia', + locality: 'Dushanbe', + }, + { + timezone: 'Asia/Famagusta', + country: 'Cyprus', + area: 'Asia', + locality: 'Famagusta', + }, + { + timezone: 'Asia/Gaza', + country: 'Palestine, State of', + area: 'Asia', + locality: 'Gaza', + }, + { + timezone: 'Asia/Hebron', + country: 'Palestine, State of', + area: 'Asia', + locality: 'Hebron', + }, + { + timezone: 'Asia/Ho_Chi_Minh', + country: 'Viet Nam', + area: 'Asia', + locality: 'Ho Chi Minh', + }, + { + timezone: 'Asia/Hong_Kong', + country: 'Hong Kong', + area: 'Asia', + locality: 'Hong Kong', + }, + { + timezone: 'Asia/Hovd', + country: 'Mongolia', + area: 'Asia', + locality: 'Hovd', + }, + { + timezone: 'Asia/Irkutsk', + country: 'Russian Federation', + area: 'Asia', + locality: 'Irkutsk', + }, + { + timezone: 'Asia/Jakarta', + country: 'Indonesia', + area: 'Asia', + locality: 'Jakarta', + }, + { + timezone: 'Asia/Jayapura', + country: 'Indonesia', + area: 'Asia', + locality: 'Jayapura', + }, + { + timezone: 'Asia/Jerusalem', + country: 'Israel', + area: 'Asia', + locality: 'Jerusalem', + }, + { + timezone: 'Asia/Kabul', + country: 'Afghanistan', + area: 'Asia', + locality: 'Kabul', + }, + { + timezone: 'Asia/Kamchatka', + country: 'Russian Federation', + area: 'Asia', + locality: 'Kamchatka', + }, + { + timezone: 'Asia/Karachi', + country: 'Pakistan', + area: 'Asia', + locality: 'Karachi', + }, + { + timezone: 'Asia/Kathmandu', + country: 'Nepal', + area: 'Asia', + locality: 'Kathmandu', + }, + { + timezone: 'Asia/Khandyga', + country: 'Russian Federation', + area: 'Asia', + locality: 'Khandyga', + }, + { + timezone: 'Asia/Kolkata', + country: 'India', + area: 'Asia', + locality: 'Kolkata', + }, + { + timezone: 'Asia/Krasnoyarsk', + country: 'Russian Federation', + area: 'Asia', + locality: 'Krasnoyarsk', + }, + { + timezone: 'Asia/Kuala_Lumpur', + country: 'Malaysia', + area: 'Asia', + locality: 'Kuala Lumpur', + }, + { + timezone: 'Asia/Kuching', + country: 'Malaysia', + area: 'Asia', + locality: 'Kuching', + }, + { + timezone: 'Asia/Kuwait', + country: 'Kuwait', + area: 'Asia', + locality: 'Kuwait', + }, + { + timezone: 'Asia/Macau', + country: 'Macao', + area: 'Asia', + locality: 'Macau', + }, + { + timezone: 'Asia/Magadan', + country: 'Russian Federation', + area: 'Asia', + locality: 'Magadan', + }, + { + timezone: 'Asia/Makassar', + country: 'Indonesia', + area: 'Asia', + locality: 'Makassar', + }, + { + timezone: 'Asia/Manila', + country: 'Philippines', + area: 'Asia', + locality: 'Manila', + }, + { + timezone: 'Asia/Muscat', + country: 'Oman', + area: 'Asia', + locality: 'Muscat', + }, + { + timezone: 'Asia/Nicosia', + country: 'Cyprus', + area: 'Asia', + locality: 'Nicosia', + }, + { + timezone: 'Asia/Novokuznetsk', + country: 'Russian Federation', + area: 'Asia', + locality: 'Novokuznetsk', + }, + { + timezone: 'Asia/Novosibirsk', + country: 'Russian Federation', + area: 'Asia', + locality: 'Novosibirsk', + }, + { + timezone: 'Asia/Omsk', + country: 'Russian Federation', + area: 'Asia', + locality: 'Omsk', + }, + { + timezone: 'Asia/Oral', + country: 'Kazakhstan', + area: 'Asia', + locality: 'Oral', + }, + { + timezone: 'Asia/Phnom_Penh', + country: 'Cambodia', + area: 'Asia', + locality: 'Phnom Penh', + }, + { + timezone: 'Asia/Pontianak', + country: 'Indonesia', + area: 'Asia', + locality: 'Pontianak', + }, + { + timezone: 'Asia/Pyongyang', + country: "Korea, Democratic People's Republic of", + area: 'Asia', + locality: 'Pyongyang', + }, + { + timezone: 'Asia/Qatar', + country: 'Qatar', + area: 'Asia', + locality: 'Qatar', + }, + { + timezone: 'Asia/Qostanay', + country: 'Kazakhstan', + area: 'Asia', + locality: 'Qostanay', + }, + { + timezone: 'Asia/Qyzylorda', + country: 'Kazakhstan', + area: 'Asia', + locality: 'Qyzylorda', + }, + { + timezone: 'Asia/Riyadh', + country: 'Saudi Arabia', + area: 'Asia', + locality: 'Riyadh', + }, + { + timezone: 'Asia/Sakhalin', + country: 'Russian Federation', + area: 'Asia', + locality: 'Sakhalin', + }, + { + timezone: 'Asia/Samarkand', + country: 'Uzbekistan', + area: 'Asia', + locality: 'Samarkand', + }, + { + timezone: 'Asia/Seoul', + country: 'Korea, Republic of', + area: 'Asia', + locality: 'Seoul', + }, + { + timezone: 'Asia/Shanghai', + country: 'China', + area: 'Asia', + locality: 'Shanghai', + }, + { + timezone: 'Asia/Singapore', + country: 'Singapore', + area: 'Asia', + locality: 'Singapore', + }, + { + timezone: 'Asia/Srednekolymsk', + country: 'Russian Federation', + area: 'Asia', + locality: 'Srednekolymsk', + }, + { + timezone: 'Asia/Taipei', + country: 'Taiwan, Province of China', + area: 'Asia', + locality: 'Taipei', + }, + { + timezone: 'Asia/Tashkent', + country: 'Uzbekistan', + area: 'Asia', + locality: 'Tashkent', + }, + { + timezone: 'Asia/Tbilisi', + country: 'Georgia', + area: 'Asia', + locality: 'Tbilisi', + }, + { + timezone: 'Asia/Tehran', + country: 'Iran, Islamic Republic of', + area: 'Asia', + locality: 'Tehran', + }, + { + timezone: 'Asia/Thimphu', + country: 'Bhutan', + area: 'Asia', + locality: 'Thimphu', + }, + { + timezone: 'Asia/Tokyo', + country: 'Japan', + area: 'Asia', + locality: 'Tokyo', + }, + { + timezone: 'Asia/Tomsk', + country: 'Russian Federation', + area: 'Asia', + locality: 'Tomsk', + }, + { + timezone: 'Asia/Ulaanbaatar', + country: 'Mongolia', + area: 'Asia', + locality: 'Ulaanbaatar', + }, + { + timezone: 'Asia/Urumqi', + country: 'China', + area: 'Asia', + locality: 'Urumqi', + }, + { + timezone: 'Asia/Ust-Nera', + country: 'Russian Federation', + area: 'Asia', + locality: 'Ust-Nera', + }, + { + timezone: 'Asia/Vientiane', + country: "Lao People's Democratic Republic", + area: 'Asia', + locality: 'Vientiane', + }, + { + timezone: 'Asia/Vladivostok', + country: 'Russian Federation', + area: 'Asia', + locality: 'Vladivostok', + }, + { + timezone: 'Asia/Yakutsk', + country: 'Russian Federation', + area: 'Asia', + locality: 'Yakutsk', + }, + { + timezone: 'Asia/Yangon', + country: 'Myanmar', + area: 'Asia', + locality: 'Yangon', + }, + { + timezone: 'Asia/Yekaterinburg', + country: 'Russian Federation', + area: 'Asia', + locality: 'Yekaterinburg', + }, + { + timezone: 'Asia/Yerevan', + country: 'Armenia', + area: 'Asia', + locality: 'Yerevan', + }, + { + timezone: 'Atlantic/Azores', + country: 'Portugal', + area: 'Atlantic', + locality: 'Azores', + }, + { + timezone: 'Atlantic/Bermuda', + country: 'Bermuda', + area: 'Atlantic', + locality: 'Bermuda', + }, + { + timezone: 'Atlantic/Canary', + country: 'Spain', + area: 'Atlantic', + locality: 'Canary', + }, + { + timezone: 'Atlantic/Cape_Verde', + country: 'Cape Verde', + area: 'Atlantic', + locality: 'Cape Verde', + }, + { + timezone: 'Atlantic/Faroe', + country: 'Faroe Islands', + area: 'Atlantic', + locality: 'Faroe', + }, + { + timezone: 'Atlantic/Madeira', + country: 'Portugal', + area: 'Atlantic', + locality: 'Madeira', + }, + { + timezone: 'Atlantic/Reykjavik', + country: 'Iceland', + area: 'Atlantic', + locality: 'Reykjavik', + }, + { + timezone: 'Atlantic/South_Georgia', + country: 'South Georgia and the South Sandwich Islands', + area: 'Atlantic', + locality: 'South Georgia', + }, + { + timezone: 'Atlantic/St_Helena', + country: 'Saint Helena, Ascension and Tristan da Cunha', + area: 'Atlantic', + locality: 'St Helena', + }, + { + timezone: 'Atlantic/Stanley', + country: 'Falkland Islands (Malvinas)', + area: 'Atlantic', + locality: 'Stanley', + }, + { + timezone: 'Australia/Adelaide', + country: 'Australia', + area: 'Australia', + locality: 'Adelaide', + }, + { + timezone: 'Australia/Brisbane', + country: 'Australia', + area: 'Australia', + locality: 'Brisbane', + }, + { + timezone: 'Australia/Broken_Hill', + country: 'Australia', + area: 'Australia', + locality: 'Broken Hill', + }, + { + timezone: 'Australia/Currie', + country: 'Australia', + area: 'Australia', + locality: 'Currie', + }, + { + timezone: 'Australia/Darwin', + country: 'Australia', + area: 'Australia', + locality: 'Darwin', + }, + { + timezone: 'Australia/Eucla', + country: 'Australia', + area: 'Australia', + locality: 'Eucla', + }, + { + timezone: 'Australia/Hobart', + country: 'Australia', + area: 'Australia', + locality: 'Hobart', + }, + { + timezone: 'Australia/Lindeman', + country: 'Australia', + area: 'Australia', + locality: 'Lindeman', + }, + { + timezone: 'Australia/Lord_Howe', + country: 'Australia', + area: 'Australia', + locality: 'Lord Howe', + }, + { + timezone: 'Australia/Melbourne', + country: 'Australia', + area: 'Australia', + locality: 'Melbourne', + }, + { + timezone: 'Australia/Perth', + country: 'Australia', + area: 'Australia', + locality: 'Perth', + }, + { + timezone: 'Australia/Sydney', + country: 'Australia', + area: 'Australia', + locality: 'Sydney', + }, + { + timezone: 'Europe/Amsterdam', + country: 'Netherlands', + area: 'Europe', + locality: 'Amsterdam', + }, + { + timezone: 'Europe/Andorra', + country: 'Andorra', + area: 'Europe', + locality: 'Andorra', + }, + { + timezone: 'Europe/Astrakhan', + country: 'Russian Federation', + area: 'Europe', + locality: 'Astrakhan', + }, + { + timezone: 'Europe/Athens', + country: 'Greece', + area: 'Europe', + locality: 'Athens', + }, + { + timezone: 'Europe/Belgrade', + country: 'Serbia', + area: 'Europe', + locality: 'Belgrade', + }, + { + timezone: 'Europe/Berlin', + country: 'Germany', + area: 'Europe', + locality: 'Berlin', + }, + { + timezone: 'Europe/Bratislava', + country: 'Slovakia', + area: 'Europe', + locality: 'Bratislava', + }, + { + timezone: 'Europe/Brussels', + country: 'Belgium', + area: 'Europe', + locality: 'Brussels', + }, + { + timezone: 'Europe/Bucharest', + country: 'Romania', + area: 'Europe', + locality: 'Bucharest', + }, + { + timezone: 'Europe/Budapest', + country: 'Hungary', + area: 'Europe', + locality: 'Budapest', + }, + { + timezone: 'Europe/Busingen', + country: 'Germany', + area: 'Europe', + locality: 'Busingen', + }, + { + timezone: 'Europe/Chisinau', + country: 'Moldova, Republic of', + area: 'Europe', + locality: 'Chisinau', + }, + { + timezone: 'Europe/Copenhagen', + country: 'Denmark', + area: 'Europe', + locality: 'Copenhagen', + }, + { + timezone: 'Europe/Dublin', + country: 'Ireland', + area: 'Europe', + locality: 'Dublin', + }, + { + timezone: 'Europe/Gibraltar', + country: 'Gibraltar', + area: 'Europe', + locality: 'Gibraltar', + }, + { + timezone: 'Europe/Guernsey', + country: 'Guernsey', + area: 'Europe', + locality: 'Guernsey', + }, + { + timezone: 'Europe/Helsinki', + country: 'Finland', + area: 'Europe', + locality: 'Helsinki', + }, + { + timezone: 'Europe/Isle_of_Man', + country: 'Isle of Man', + area: 'Europe', + locality: 'Isle of Man', + }, + { + timezone: 'Europe/Istanbul', + country: 'Turkey', + area: 'Europe', + locality: 'Istanbul', + }, + { + timezone: 'Europe/Jersey', + country: 'Jersey', + area: 'Europe', + locality: 'Jersey', + }, + { + timezone: 'Europe/Kaliningrad', + country: 'Russian Federation', + area: 'Europe', + locality: 'Kaliningrad', + }, + { + timezone: 'Europe/Kiev', + country: 'Ukraine', + area: 'Europe', + locality: 'Kiev', + }, + { + timezone: 'Europe/Kirov', + country: 'Russian Federation', + area: 'Europe', + locality: 'Kirov', + }, + { + timezone: 'Europe/Lisbon', + country: 'Portugal', + area: 'Europe', + locality: 'Lisbon', + }, + { + timezone: 'Europe/Ljubljana', + country: 'Slovenia', + area: 'Europe', + locality: 'Ljubljana', + }, + { + timezone: 'Europe/London', + country: 'United Kingdom', + area: 'Europe', + locality: 'London', + }, + { + timezone: 'Europe/Luxembourg', + country: 'Luxembourg', + area: 'Europe', + locality: 'Luxembourg', + }, + { + timezone: 'Europe/Madrid', + country: 'Spain', + area: 'Europe', + locality: 'Madrid', + }, + { + timezone: 'Europe/Malta', + country: 'Malta', + area: 'Europe', + locality: 'Malta', + }, + { + timezone: 'Europe/Mariehamn', + country: 'Åland Islands', + area: 'Europe', + locality: 'Mariehamn', + }, + { + timezone: 'Europe/Minsk', + country: 'Belarus', + area: 'Europe', + locality: 'Minsk', + }, + { + timezone: 'Europe/Monaco', + country: 'Monaco', + area: 'Europe', + locality: 'Monaco', + }, + { + timezone: 'Europe/Moscow', + country: 'Russian Federation', + area: 'Europe', + locality: 'Moscow', + }, + { + timezone: 'Europe/Oslo', + country: 'Norway', + area: 'Europe', + locality: 'Oslo', + }, + { + timezone: 'Europe/Paris', + country: 'France', + area: 'Europe', + locality: 'Paris', + }, + { + timezone: 'Europe/Podgorica', + country: 'Montenegro', + area: 'Europe', + locality: 'Podgorica', + }, + { + timezone: 'Europe/Prague', + country: 'Czech Republic', + area: 'Europe', + locality: 'Prague', + }, + { + timezone: 'Europe/Riga', + country: 'Latvia', + area: 'Europe', + locality: 'Riga', + }, + { + timezone: 'Europe/Rome', + country: 'Italy', + area: 'Europe', + locality: 'Rome', + }, + { + timezone: 'Europe/Samara', + country: 'Russian Federation', + area: 'Europe', + locality: 'Samara', + }, + { + timezone: 'Europe/San_Marino', + country: 'San Marino', + area: 'Europe', + locality: 'San Marino', + }, + { + timezone: 'Europe/Sarajevo', + country: 'Bosnia and Herzegovina', + area: 'Europe', + locality: 'Sarajevo', + }, + { + timezone: 'Europe/Saratov', + country: 'Russian Federation', + area: 'Europe', + locality: 'Saratov', + }, + { + timezone: 'Europe/Simferopol', + country: 'Ukraine', + area: 'Europe', + locality: 'Simferopol', + }, + { + timezone: 'Europe/Skopje', + country: 'Macedonia, the Former Yugoslav Republic of', + area: 'Europe', + locality: 'Skopje', + }, + { + timezone: 'Europe/Sofia', + country: 'Bulgaria', + area: 'Europe', + locality: 'Sofia', + }, + { + timezone: 'Europe/Stockholm', + country: 'Sweden', + area: 'Europe', + locality: 'Stockholm', + }, + { + timezone: 'Europe/Tallinn', + country: 'Estonia', + area: 'Europe', + locality: 'Tallinn', + }, + { + timezone: 'Europe/Tirane', + country: 'Albania', + area: 'Europe', + locality: 'Tirane', + }, + { + timezone: 'Europe/Ulyanovsk', + country: 'Russian Federation', + area: 'Europe', + locality: 'Ulyanovsk', + }, + { + timezone: 'Europe/Uzhgorod', + country: 'Ukraine', + area: 'Europe', + locality: 'Uzhgorod', + }, + { + timezone: 'Europe/Vaduz', + country: 'Liechtenstein', + area: 'Europe', + locality: 'Vaduz', + }, + { + timezone: 'Europe/Vatican', + country: 'Holy See (Vatican City State)', + area: 'Europe', + locality: 'Vatican', + }, + { + timezone: 'Europe/Vienna', + country: 'Austria', + area: 'Europe', + locality: 'Vienna', + }, + { + timezone: 'Europe/Vilnius', + country: 'Lithuania', + area: 'Europe', + locality: 'Vilnius', + }, + { + timezone: 'Europe/Volgograd', + country: 'Russian Federation', + area: 'Europe', + locality: 'Volgograd', + }, + { + timezone: 'Europe/Warsaw', + country: 'Poland', + area: 'Europe', + locality: 'Warsaw', + }, + { + timezone: 'Europe/Zagreb', + country: 'Croatia', + area: 'Europe', + locality: 'Zagreb', + }, + { + timezone: 'Europe/Zaporozhye', + country: 'Ukraine', + area: 'Europe', + locality: 'Zaporozhye', + }, + { + timezone: 'Europe/Zurich', + country: 'Switzerland', + area: 'Europe', + locality: 'Zurich', + }, + { + timezone: 'Indian/Antananarivo', + country: 'Madagascar', + area: 'Indian', + locality: 'Antananarivo', + }, + { + timezone: 'Indian/Chagos', + country: 'British Indian Ocean Territory', + area: 'Indian', + locality: 'Chagos', + }, + { + timezone: 'Indian/Christmas', + country: 'Christmas Island', + area: 'Indian', + locality: 'Christmas', + }, + { + timezone: 'Indian/Cocos', + country: 'Cocos (Keeling) Islands', + area: 'Indian', + locality: 'Cocos', + }, + { + timezone: 'Indian/Comoro', + country: 'Comoros', + area: 'Indian', + locality: 'Comoro', + }, + { + timezone: 'Indian/Kerguelen', + country: 'French Southern Territories', + area: 'Indian', + locality: 'Kerguelen', + }, + { + timezone: 'Indian/Mahe', + country: 'Seychelles', + area: 'Indian', + locality: 'Mahe', + }, + { + timezone: 'Indian/Maldives', + country: 'Maldives', + area: 'Indian', + locality: 'Maldives', + }, + { + timezone: 'Indian/Mauritius', + country: 'Mauritius', + area: 'Indian', + locality: 'Mauritius', + }, + { + timezone: 'Indian/Mayotte', + country: 'Mayotte', + area: 'Indian', + locality: 'Mayotte', + }, + { + timezone: 'Indian/Reunion', + country: 'Réunion', + area: 'Indian', + locality: 'Reunion', + }, + { + timezone: 'Pacific/Apia', + country: 'Samoa', + area: 'Pacific', + locality: 'Apia', + }, + { + timezone: 'Pacific/Auckland', + country: 'New Zealand', + area: 'Pacific', + locality: 'Auckland', + }, + { + timezone: 'Pacific/Bougainville', + country: 'Papua New Guinea', + area: 'Pacific', + locality: 'Bougainville', + }, + { + timezone: 'Pacific/Chatham', + country: 'New Zealand', + area: 'Pacific', + locality: 'Chatham', + }, + { + timezone: 'Pacific/Chuuk', + country: 'Micronesia, Federated States of', + area: 'Pacific', + locality: 'Chuuk', + }, + { + timezone: 'Pacific/Easter', + country: 'Chile', + area: 'Pacific', + locality: 'Easter', + }, + { + timezone: 'Pacific/Efate', + country: 'Vanuatu', + area: 'Pacific', + locality: 'Efate', + }, + { + timezone: 'Pacific/Enderbury', + country: 'Kiribati', + area: 'Pacific', + locality: 'Enderbury', + }, + { + timezone: 'Pacific/Fakaofo', + country: 'Tokelau', + area: 'Pacific', + locality: 'Fakaofo', + }, + { + timezone: 'Pacific/Fiji', + country: 'Fiji', + area: 'Pacific', + locality: 'Fiji', + }, + { + timezone: 'Pacific/Funafuti', + country: 'Tuvalu', + area: 'Pacific', + locality: 'Funafuti', + }, + { + timezone: 'Pacific/Galapagos', + country: 'Ecuador', + area: 'Pacific', + locality: 'Galapagos', + }, + { + timezone: 'Pacific/Gambier', + country: 'French Polynesia', + area: 'Pacific', + locality: 'Gambier', + }, + { + timezone: 'Pacific/Guadalcanal', + country: 'Solomon Islands', + area: 'Pacific', + locality: 'Guadalcanal', + }, + { + timezone: 'Pacific/Guam', + country: 'Guam', + area: 'Pacific', + locality: 'Guam', + }, + { + timezone: 'Pacific/Honolulu', + country: 'United States', + area: 'Pacific', + locality: 'Honolulu', + }, + { + timezone: 'Pacific/Kiritimati', + country: 'Kiribati', + area: 'Pacific', + locality: 'Kiritimati', + }, + { + timezone: 'Pacific/Kosrae', + country: 'Micronesia, Federated States of', + area: 'Pacific', + locality: 'Kosrae', + }, + { + timezone: 'Pacific/Kwajalein', + country: 'Marshall Islands', + area: 'Pacific', + locality: 'Kwajalein', + }, + { + timezone: 'Pacific/Majuro', + country: 'Marshall Islands', + area: 'Pacific', + locality: 'Majuro', + }, + { + timezone: 'Pacific/Marquesas', + country: 'French Polynesia', + area: 'Pacific', + locality: 'Marquesas', + }, + { + timezone: 'Pacific/Midway', + country: 'United States Minor Outlying Islands', + area: 'Pacific', + locality: 'Midway', + }, + { + timezone: 'Pacific/Nauru', + country: 'Nauru', + area: 'Pacific', + locality: 'Nauru', + }, + { + timezone: 'Pacific/Niue', + country: 'Niue', + area: 'Pacific', + locality: 'Niue', + }, + { + timezone: 'Pacific/Norfolk', + country: 'Norfolk Island', + area: 'Pacific', + locality: 'Norfolk', + }, + { + timezone: 'Pacific/Noumea', + country: 'New Caledonia', + area: 'Pacific', + locality: 'Noumea', + }, + { + timezone: 'Pacific/Pago_Pago', + country: 'American Samoa', + area: 'Pacific', + locality: 'Pago Pago', + }, + { + timezone: 'Pacific/Palau', + country: 'Palau', + area: 'Pacific', + locality: 'Palau', + }, + { + timezone: 'Pacific/Pitcairn', + country: 'Pitcairn', + area: 'Pacific', + locality: 'Pitcairn', + }, + { + timezone: 'Pacific/Pohnpei', + country: 'Micronesia, Federated States of', + area: 'Pacific', + locality: 'Pohnpei', + }, + { + timezone: 'Pacific/Port_Moresby', + country: 'Papua New Guinea', + area: 'Pacific', + locality: 'Port Moresby', + }, + { + timezone: 'Pacific/Rarotonga', + country: 'Cook Islands', + area: 'Pacific', + locality: 'Rarotonga', + }, + { + timezone: 'Pacific/Saipan', + country: 'Northern Mariana Islands', + area: 'Pacific', + locality: 'Saipan', + }, + { + timezone: 'Pacific/Tahiti', + country: 'French Polynesia', + area: 'Pacific', + locality: 'Tahiti', + }, + { + timezone: 'Pacific/Tarawa', + country: 'Kiribati', + area: 'Pacific', + locality: 'Tarawa', + }, + { + timezone: 'Pacific/Tongatapu', + country: 'Tonga', + area: 'Pacific', + locality: 'Tongatapu', + }, + { + timezone: 'Pacific/Wake', + country: 'United States Minor Outlying Islands', + area: 'Pacific', + locality: 'Wake', + }, + { + timezone: 'Pacific/Wallis', + country: 'Wallis and Futuna', + area: 'Pacific', + locality: 'Wallis', + }, +]; diff --git a/src/assets/data/timezonesStructured.js b/src/assets/data/timezonesStructured.js new file mode 100644 index 0000000..104a50b --- /dev/null +++ b/src/assets/data/timezonesStructured.js @@ -0,0 +1,2235 @@ +// Data compiled from https://timezonedb.com/ +// License: https://creativecommons.org/licenses/by/3.0/ + +export const timezones = { + Asia: { + 'United Arab Emirates': { + Dubai: { + timezone: 'Asia/Dubai', + locality: 'Dubai', + }, + }, + Afghanistan: { + Kabul: { + timezone: 'Asia/Kabul', + locality: 'Kabul', + }, + }, + Armenia: { + Yerevan: { + timezone: 'Asia/Yerevan', + locality: 'Yerevan', + }, + }, + Azerbaijan: { + Baku: { + timezone: 'Asia/Baku', + locality: 'Baku', + }, + }, + Bangladesh: { + Dhaka: { + timezone: 'Asia/Dhaka', + locality: 'Dhaka', + }, + }, + Bahrain: { + Bahrain: { + timezone: 'Asia/Bahrain', + locality: 'Bahrain', + }, + }, + 'Brunei Darussalam': { + Brunei: { + timezone: 'Asia/Brunei', + locality: 'Brunei', + }, + }, + Bhutan: { + Thimphu: { + timezone: 'Asia/Thimphu', + locality: 'Thimphu', + }, + }, + China: { + Shanghai: { + timezone: 'Asia/Shanghai', + locality: 'Shanghai', + }, + Urumqi: { + timezone: 'Asia/Urumqi', + locality: 'Urumqi', + }, + }, + Cyprus: { + Famagusta: { + timezone: 'Asia/Famagusta', + locality: 'Famagusta', + }, + Nicosia: { + timezone: 'Asia/Nicosia', + locality: 'Nicosia', + }, + }, + Georgia: { + Tbilisi: { + timezone: 'Asia/Tbilisi', + locality: 'Tbilisi', + }, + }, + 'Hong Kong': { + 'Hong Kong': { + timezone: 'Asia/Hong_Kong', + locality: 'Hong Kong', + }, + }, + Indonesia: { + Jakarta: { + timezone: 'Asia/Jakarta', + locality: 'Jakarta', + }, + Jayapura: { + timezone: 'Asia/Jayapura', + locality: 'Jayapura', + }, + Makassar: { + timezone: 'Asia/Makassar', + locality: 'Makassar', + }, + Pontianak: { + timezone: 'Asia/Pontianak', + locality: 'Pontianak', + }, + }, + Israel: { + Jerusalem: { + timezone: 'Asia/Jerusalem', + locality: 'Jerusalem', + }, + }, + India: { + Kolkata: { + timezone: 'Asia/Kolkata', + locality: 'Kolkata', + }, + }, + Iraq: { + Baghdad: { + timezone: 'Asia/Baghdad', + locality: 'Baghdad', + }, + }, + 'Iran, Islamic Republic of': { + Tehran: { + timezone: 'Asia/Tehran', + locality: 'Tehran', + }, + }, + Jordan: { + Amman: { + timezone: 'Asia/Amman', + locality: 'Amman', + }, + }, + Japan: { + Tokyo: { + timezone: 'Asia/Tokyo', + locality: 'Tokyo', + }, + }, + Kyrgyzstan: { + Bishkek: { + timezone: 'Asia/Bishkek', + locality: 'Bishkek', + }, + }, + Cambodia: { + 'Phnom Penh': { + timezone: 'Asia/Phnom_Penh', + locality: 'Phnom Penh', + }, + }, + "Korea, Democratic People's Republic of": { + Pyongyang: { + timezone: 'Asia/Pyongyang', + locality: 'Pyongyang', + }, + }, + 'Korea, Republic of': { + Seoul: { + timezone: 'Asia/Seoul', + locality: 'Seoul', + }, + }, + Kuwait: { + Kuwait: { + timezone: 'Asia/Kuwait', + locality: 'Kuwait', + }, + }, + Kazakhstan: { + Almaty: { + timezone: 'Asia/Almaty', + locality: 'Almaty', + }, + Aqtau: { + timezone: 'Asia/Aqtau', + locality: 'Aqtau', + }, + Aqtobe: { + timezone: 'Asia/Aqtobe', + locality: 'Aqtobe', + }, + Atyrau: { + timezone: 'Asia/Atyrau', + locality: 'Atyrau', + }, + Oral: { + timezone: 'Asia/Oral', + locality: 'Oral', + }, + Qostanay: { + timezone: 'Asia/Qostanay', + locality: 'Qostanay', + }, + Qyzylorda: { + timezone: 'Asia/Qyzylorda', + locality: 'Qyzylorda', + }, + }, + "Lao People's Democratic Republic": { + Vientiane: { + timezone: 'Asia/Vientiane', + locality: 'Vientiane', + }, + }, + Lebanon: { + Beirut: { + timezone: 'Asia/Beirut', + locality: 'Beirut', + }, + }, + 'Sri Lanka': { + Colombo: { + timezone: 'Asia/Colombo', + locality: 'Colombo', + }, + }, + Myanmar: { + Yangon: { + timezone: 'Asia/Yangon', + locality: 'Yangon', + }, + }, + Mongolia: { + Choibalsan: { + timezone: 'Asia/Choibalsan', + locality: 'Choibalsan', + }, + Hovd: { + timezone: 'Asia/Hovd', + locality: 'Hovd', + }, + Ulaanbaatar: { + timezone: 'Asia/Ulaanbaatar', + locality: 'Ulaanbaatar', + }, + }, + Macao: { + Macau: { + timezone: 'Asia/Macau', + locality: 'Macau', + }, + }, + Malaysia: { + 'Kuala Lumpur': { + timezone: 'Asia/Kuala_Lumpur', + locality: 'Kuala Lumpur', + }, + Kuching: { + timezone: 'Asia/Kuching', + locality: 'Kuching', + }, + }, + Nepal: { + Kathmandu: { + timezone: 'Asia/Kathmandu', + locality: 'Kathmandu', + }, + }, + Oman: { + Muscat: { + timezone: 'Asia/Muscat', + locality: 'Muscat', + }, + }, + Philippines: { + Manila: { + timezone: 'Asia/Manila', + locality: 'Manila', + }, + }, + Pakistan: { + Karachi: { + timezone: 'Asia/Karachi', + locality: 'Karachi', + }, + }, + 'Palestine, State of': { + Gaza: { + timezone: 'Asia/Gaza', + locality: 'Gaza', + }, + Hebron: { + timezone: 'Asia/Hebron', + locality: 'Hebron', + }, + }, + Qatar: { + Qatar: { + timezone: 'Asia/Qatar', + locality: 'Qatar', + }, + }, + 'Russian Federation': { + Anadyr: { + timezone: 'Asia/Anadyr', + locality: 'Anadyr', + }, + Barnaul: { + timezone: 'Asia/Barnaul', + locality: 'Barnaul', + }, + Chita: { + timezone: 'Asia/Chita', + locality: 'Chita', + }, + Irkutsk: { + timezone: 'Asia/Irkutsk', + locality: 'Irkutsk', + }, + Kamchatka: { + timezone: 'Asia/Kamchatka', + locality: 'Kamchatka', + }, + Khandyga: { + timezone: 'Asia/Khandyga', + locality: 'Khandyga', + }, + Krasnoyarsk: { + timezone: 'Asia/Krasnoyarsk', + locality: 'Krasnoyarsk', + }, + Magadan: { + timezone: 'Asia/Magadan', + locality: 'Magadan', + }, + Novokuznetsk: { + timezone: 'Asia/Novokuznetsk', + locality: 'Novokuznetsk', + }, + Novosibirsk: { + timezone: 'Asia/Novosibirsk', + locality: 'Novosibirsk', + }, + Omsk: { + timezone: 'Asia/Omsk', + locality: 'Omsk', + }, + Sakhalin: { + timezone: 'Asia/Sakhalin', + locality: 'Sakhalin', + }, + Srednekolymsk: { + timezone: 'Asia/Srednekolymsk', + locality: 'Srednekolymsk', + }, + Tomsk: { + timezone: 'Asia/Tomsk', + locality: 'Tomsk', + }, + 'Ust-Nera': { + timezone: 'Asia/Ust-Nera', + locality: 'Ust-Nera', + }, + Vladivostok: { + timezone: 'Asia/Vladivostok', + locality: 'Vladivostok', + }, + Yakutsk: { + timezone: 'Asia/Yakutsk', + locality: 'Yakutsk', + }, + Yekaterinburg: { + timezone: 'Asia/Yekaterinburg', + locality: 'Yekaterinburg', + }, + }, + 'Saudi Arabia': { + Riyadh: { + timezone: 'Asia/Riyadh', + locality: 'Riyadh', + }, + }, + Singapore: { + Singapore: { + timezone: 'Asia/Singapore', + locality: 'Singapore', + }, + }, + 'Syrian Arab Republic': { + Damascus: { + timezone: 'Asia/Damascus', + locality: 'Damascus', + }, + }, + Thailand: { + Bangkok: { + timezone: 'Asia/Bangkok', + locality: 'Bangkok', + }, + }, + Tajikistan: { + Dushanbe: { + timezone: 'Asia/Dushanbe', + locality: 'Dushanbe', + }, + }, + 'Timor-Leste': { + Dili: { + timezone: 'Asia/Dili', + locality: 'Dili', + }, + }, + Turkmenistan: { + Ashgabat: { + timezone: 'Asia/Ashgabat', + locality: 'Ashgabat', + }, + }, + 'Taiwan, Province of China': { + Taipei: { + timezone: 'Asia/Taipei', + locality: 'Taipei', + }, + }, + Uzbekistan: { + Samarkand: { + timezone: 'Asia/Samarkand', + locality: 'Samarkand', + }, + Tashkent: { + timezone: 'Asia/Tashkent', + locality: 'Tashkent', + }, + }, + 'Viet Nam': { + 'Ho Chi Minh': { + timezone: 'Asia/Ho_Chi_Minh', + locality: 'Ho Chi Minh', + }, + }, + Yemen: { + Aden: { + timezone: 'Asia/Aden', + locality: 'Aden', + }, + }, + }, + Europe: { + Andorra: { + Andorra: { + timezone: 'Europe/Andorra', + locality: 'Andorra', + }, + }, + Albania: { + Tirane: { + timezone: 'Europe/Tirane', + locality: 'Tirane', + }, + }, + Austria: { + Vienna: { + timezone: 'Europe/Vienna', + locality: 'Vienna', + }, + }, + 'Åland Islands': { + Mariehamn: { + timezone: 'Europe/Mariehamn', + locality: 'Mariehamn', + }, + }, + 'Bosnia and Herzegovina': { + Sarajevo: { + timezone: 'Europe/Sarajevo', + locality: 'Sarajevo', + }, + }, + Belgium: { + Brussels: { + timezone: 'Europe/Brussels', + locality: 'Brussels', + }, + }, + Bulgaria: { + Sofia: { + timezone: 'Europe/Sofia', + locality: 'Sofia', + }, + }, + Belarus: { + Minsk: { + timezone: 'Europe/Minsk', + locality: 'Minsk', + }, + }, + Switzerland: { + Zurich: { + timezone: 'Europe/Zurich', + locality: 'Zurich', + }, + }, + 'Czech Republic': { + Prague: { + timezone: 'Europe/Prague', + locality: 'Prague', + }, + }, + Germany: { + Berlin: { + timezone: 'Europe/Berlin', + locality: 'Berlin', + }, + Busingen: { + timezone: 'Europe/Busingen', + locality: 'Busingen', + }, + }, + Denmark: { + Copenhagen: { + timezone: 'Europe/Copenhagen', + locality: 'Copenhagen', + }, + }, + Estonia: { + Tallinn: { + timezone: 'Europe/Tallinn', + locality: 'Tallinn', + }, + }, + Spain: { + Madrid: { + timezone: 'Europe/Madrid', + locality: 'Madrid', + }, + }, + Finland: { + Helsinki: { + timezone: 'Europe/Helsinki', + locality: 'Helsinki', + }, + }, + France: { + Paris: { + timezone: 'Europe/Paris', + locality: 'Paris', + }, + }, + 'United Kingdom': { + London: { + timezone: 'Europe/London', + locality: 'London', + }, + }, + Guernsey: { + Guernsey: { + timezone: 'Europe/Guernsey', + locality: 'Guernsey', + }, + }, + Gibraltar: { + Gibraltar: { + timezone: 'Europe/Gibraltar', + locality: 'Gibraltar', + }, + }, + Greece: { + Athens: { + timezone: 'Europe/Athens', + locality: 'Athens', + }, + }, + Croatia: { + Zagreb: { + timezone: 'Europe/Zagreb', + locality: 'Zagreb', + }, + }, + Hungary: { + Budapest: { + timezone: 'Europe/Budapest', + locality: 'Budapest', + }, + }, + Ireland: { + Dublin: { + timezone: 'Europe/Dublin', + locality: 'Dublin', + }, + }, + 'Isle of Man': { + 'Isle of Man': { + timezone: 'Europe/Isle_of_Man', + locality: 'Isle of Man', + }, + }, + Italy: { + Rome: { + timezone: 'Europe/Rome', + locality: 'Rome', + }, + }, + Jersey: { + Jersey: { + timezone: 'Europe/Jersey', + locality: 'Jersey', + }, + }, + Liechtenstein: { + Vaduz: { + timezone: 'Europe/Vaduz', + locality: 'Vaduz', + }, + }, + Lithuania: { + Vilnius: { + timezone: 'Europe/Vilnius', + locality: 'Vilnius', + }, + }, + Luxembourg: { + Luxembourg: { + timezone: 'Europe/Luxembourg', + locality: 'Luxembourg', + }, + }, + Latvia: { + Riga: { + timezone: 'Europe/Riga', + locality: 'Riga', + }, + }, + Monaco: { + Monaco: { + timezone: 'Europe/Monaco', + locality: 'Monaco', + }, + }, + 'Moldova, Republic of': { + Chisinau: { + timezone: 'Europe/Chisinau', + locality: 'Chisinau', + }, + }, + Montenegro: { + Podgorica: { + timezone: 'Europe/Podgorica', + locality: 'Podgorica', + }, + }, + 'Macedonia, the Former Yugoslav Republic of': { + Skopje: { + timezone: 'Europe/Skopje', + locality: 'Skopje', + }, + }, + Malta: { + Malta: { + timezone: 'Europe/Malta', + locality: 'Malta', + }, + }, + Netherlands: { + Amsterdam: { + timezone: 'Europe/Amsterdam', + locality: 'Amsterdam', + }, + }, + Norway: { + Oslo: { + timezone: 'Europe/Oslo', + locality: 'Oslo', + }, + }, + Poland: { + Warsaw: { + timezone: 'Europe/Warsaw', + locality: 'Warsaw', + }, + }, + Portugal: { + Lisbon: { + timezone: 'Europe/Lisbon', + locality: 'Lisbon', + }, + }, + Romania: { + Bucharest: { + timezone: 'Europe/Bucharest', + locality: 'Bucharest', + }, + }, + Serbia: { + Belgrade: { + timezone: 'Europe/Belgrade', + locality: 'Belgrade', + }, + }, + 'Russian Federation': { + Astrakhan: { + timezone: 'Europe/Astrakhan', + locality: 'Astrakhan', + }, + Kaliningrad: { + timezone: 'Europe/Kaliningrad', + locality: 'Kaliningrad', + }, + Kirov: { + timezone: 'Europe/Kirov', + locality: 'Kirov', + }, + Moscow: { + timezone: 'Europe/Moscow', + locality: 'Moscow', + }, + Samara: { + timezone: 'Europe/Samara', + locality: 'Samara', + }, + Saratov: { + timezone: 'Europe/Saratov', + locality: 'Saratov', + }, + Ulyanovsk: { + timezone: 'Europe/Ulyanovsk', + locality: 'Ulyanovsk', + }, + Volgograd: { + timezone: 'Europe/Volgograd', + locality: 'Volgograd', + }, + }, + Sweden: { + Stockholm: { + timezone: 'Europe/Stockholm', + locality: 'Stockholm', + }, + }, + Slovenia: { + Ljubljana: { + timezone: 'Europe/Ljubljana', + locality: 'Ljubljana', + }, + }, + Slovakia: { + Bratislava: { + timezone: 'Europe/Bratislava', + locality: 'Bratislava', + }, + }, + 'San Marino': { + 'San Marino': { + timezone: 'Europe/San_Marino', + locality: 'San Marino', + }, + }, + Turkey: { + Istanbul: { + timezone: 'Europe/Istanbul', + locality: 'Istanbul', + }, + }, + Ukraine: { + Kiev: { + timezone: 'Europe/Kiev', + locality: 'Kiev', + }, + Simferopol: { + timezone: 'Europe/Simferopol', + locality: 'Simferopol', + }, + Uzhgorod: { + timezone: 'Europe/Uzhgorod', + locality: 'Uzhgorod', + }, + Zaporozhye: { + timezone: 'Europe/Zaporozhye', + locality: 'Zaporozhye', + }, + }, + 'Holy See (Vatican City State)': { + Vatican: { + timezone: 'Europe/Vatican', + locality: 'Vatican', + }, + }, + }, + America: { + 'Antigua and Barbuda': { + Antigua: { + timezone: 'America/Antigua', + locality: 'Antigua', + }, + }, + Anguilla: { + Anguilla: { + timezone: 'America/Anguilla', + locality: 'Anguilla', + }, + }, + Argentina: { + 'Buenos Aires': { + timezone: 'America/Argentina/Buenos_Aires', + locality: 'Buenos Aires', + }, + Catamarca: { + timezone: 'America/Argentina/Catamarca', + locality: 'Catamarca', + }, + Cordoba: { + timezone: 'America/Argentina/Cordoba', + locality: 'Cordoba', + }, + Jujuy: { + timezone: 'America/Argentina/Jujuy', + locality: 'Jujuy', + }, + 'La Rioja': { + timezone: 'America/Argentina/La_Rioja', + locality: 'La Rioja', + }, + Mendoza: { + timezone: 'America/Argentina/Mendoza', + locality: 'Mendoza', + }, + 'Rio Gallegos': { + timezone: 'America/Argentina/Rio_Gallegos', + locality: 'Rio Gallegos', + }, + Salta: { + timezone: 'America/Argentina/Salta', + locality: 'Salta', + }, + 'San Juan': { + timezone: 'America/Argentina/San_Juan', + locality: 'San Juan', + }, + 'San Luis': { + timezone: 'America/Argentina/San_Luis', + locality: 'San Luis', + }, + Tucuman: { + timezone: 'America/Argentina/Tucuman', + locality: 'Tucuman', + }, + Ushuaia: { + timezone: 'America/Argentina/Ushuaia', + locality: 'Ushuaia', + }, + }, + Aruba: { + Aruba: { + timezone: 'America/Aruba', + locality: 'Aruba', + }, + }, + Barbados: { + Barbados: { + timezone: 'America/Barbados', + locality: 'Barbados', + }, + }, + 'Saint Barthélemy': { + 'St Barthelemy': { + timezone: 'America/St_Barthelemy', + locality: 'St Barthelemy', + }, + }, + 'Bolivia, Plurinational State of': { + 'La Paz': { + timezone: 'America/La_Paz', + locality: 'La Paz', + }, + }, + 'Bonaire, Sint Eustatius and Saba': { + Kralendijk: { + timezone: 'America/Kralendijk', + locality: 'Kralendijk', + }, + }, + Brazil: { + Araguaina: { + timezone: 'America/Araguaina', + locality: 'Araguaina', + }, + Bahia: { + timezone: 'America/Bahia', + locality: 'Bahia', + }, + Belem: { + timezone: 'America/Belem', + locality: 'Belem', + }, + 'Boa Vista': { + timezone: 'America/Boa_Vista', + locality: 'Boa Vista', + }, + 'Campo Grande': { + timezone: 'America/Campo_Grande', + locality: 'Campo Grande', + }, + Cuiaba: { + timezone: 'America/Cuiaba', + locality: 'Cuiaba', + }, + Eirunepe: { + timezone: 'America/Eirunepe', + locality: 'Eirunepe', + }, + Fortaleza: { + timezone: 'America/Fortaleza', + locality: 'Fortaleza', + }, + Maceio: { + timezone: 'America/Maceio', + locality: 'Maceio', + }, + Manaus: { + timezone: 'America/Manaus', + locality: 'Manaus', + }, + Noronha: { + timezone: 'America/Noronha', + locality: 'Noronha', + }, + 'Porto Velho': { + timezone: 'America/Porto_Velho', + locality: 'Porto Velho', + }, + Recife: { + timezone: 'America/Recife', + locality: 'Recife', + }, + 'Rio Branco': { + timezone: 'America/Rio_Branco', + locality: 'Rio Branco', + }, + Santarem: { + timezone: 'America/Santarem', + locality: 'Santarem', + }, + 'Sao Paulo': { + timezone: 'America/Sao_Paulo', + locality: 'Sao Paulo', + }, + }, + Bahamas: { + Nassau: { + timezone: 'America/Nassau', + locality: 'Nassau', + }, + }, + Belize: { + Belize: { + timezone: 'America/Belize', + locality: 'Belize', + }, + }, + Canada: { + Atikokan: { + timezone: 'America/Atikokan', + locality: 'Atikokan', + }, + 'Blanc-Sablon': { + timezone: 'America/Blanc-Sablon', + locality: 'Blanc-Sablon', + }, + 'Cambridge Bay': { + timezone: 'America/Cambridge_Bay', + locality: 'Cambridge Bay', + }, + Creston: { + timezone: 'America/Creston', + locality: 'Creston', + }, + Dawson: { + timezone: 'America/Dawson', + locality: 'Dawson', + }, + 'Dawson Creek': { + timezone: 'America/Dawson_Creek', + locality: 'Dawson Creek', + }, + Edmonton: { + timezone: 'America/Edmonton', + locality: 'Edmonton', + }, + 'Fort Nelson': { + timezone: 'America/Fort_Nelson', + locality: 'Fort Nelson', + }, + 'Glace Bay': { + timezone: 'America/Glace_Bay', + locality: 'Glace Bay', + }, + 'Goose Bay': { + timezone: 'America/Goose_Bay', + locality: 'Goose Bay', + }, + Halifax: { + timezone: 'America/Halifax', + locality: 'Halifax', + }, + Inuvik: { + timezone: 'America/Inuvik', + locality: 'Inuvik', + }, + Iqaluit: { + timezone: 'America/Iqaluit', + locality: 'Iqaluit', + }, + Moncton: { + timezone: 'America/Moncton', + locality: 'Moncton', + }, + Nipigon: { + timezone: 'America/Nipigon', + locality: 'Nipigon', + }, + Pangnirtung: { + timezone: 'America/Pangnirtung', + locality: 'Pangnirtung', + }, + 'Rainy River': { + timezone: 'America/Rainy_River', + locality: 'Rainy River', + }, + 'Rankin Inlet': { + timezone: 'America/Rankin_Inlet', + locality: 'Rankin Inlet', + }, + Regina: { + timezone: 'America/Regina', + locality: 'Regina', + }, + Resolute: { + timezone: 'America/Resolute', + locality: 'Resolute', + }, + 'St Johns': { + timezone: 'America/St_Johns', + locality: 'St Johns', + }, + 'Swift Current': { + timezone: 'America/Swift_Current', + locality: 'Swift Current', + }, + 'Thunder Bay': { + timezone: 'America/Thunder_Bay', + locality: 'Thunder Bay', + }, + Toronto: { + timezone: 'America/Toronto', + locality: 'Toronto', + }, + Vancouver: { + timezone: 'America/Vancouver', + locality: 'Vancouver', + }, + Whitehorse: { + timezone: 'America/Whitehorse', + locality: 'Whitehorse', + }, + Winnipeg: { + timezone: 'America/Winnipeg', + locality: 'Winnipeg', + }, + Yellowknife: { + timezone: 'America/Yellowknife', + locality: 'Yellowknife', + }, + }, + Chile: { + 'Punta Arenas': { + timezone: 'America/Punta_Arenas', + locality: 'Punta Arenas', + }, + Santiago: { + timezone: 'America/Santiago', + locality: 'Santiago', + }, + }, + Colombia: { + Bogota: { + timezone: 'America/Bogota', + locality: 'Bogota', + }, + }, + 'Costa Rica': { + 'Costa Rica': { + timezone: 'America/Costa_Rica', + locality: 'Costa Rica', + }, + }, + Cuba: { + Havana: { + timezone: 'America/Havana', + locality: 'Havana', + }, + }, + Curaçao: { + Curacao: { + timezone: 'America/Curacao', + locality: 'Curacao', + }, + }, + Dominica: { + Dominica: { + timezone: 'America/Dominica', + locality: 'Dominica', + }, + }, + 'Dominican Republic': { + 'Santo Domingo': { + timezone: 'America/Santo_Domingo', + locality: 'Santo Domingo', + }, + }, + Ecuador: { + Guayaquil: { + timezone: 'America/Guayaquil', + locality: 'Guayaquil', + }, + }, + Grenada: { + Grenada: { + timezone: 'America/Grenada', + locality: 'Grenada', + }, + }, + 'French Guiana': { + Cayenne: { + timezone: 'America/Cayenne', + locality: 'Cayenne', + }, + }, + Greenland: { + Danmarkshavn: { + timezone: 'America/Danmarkshavn', + locality: 'Danmarkshavn', + }, + Nuuk: { + timezone: 'America/Nuuk', + locality: 'Nuuk', + }, + Scoresbysund: { + timezone: 'America/Scoresbysund', + locality: 'Scoresbysund', + }, + Thule: { + timezone: 'America/Thule', + locality: 'Thule', + }, + }, + Guadeloupe: { + Guadeloupe: { + timezone: 'America/Guadeloupe', + locality: 'Guadeloupe', + }, + }, + Guatemala: { + Guatemala: { + timezone: 'America/Guatemala', + locality: 'Guatemala', + }, + }, + Guyana: { + Guyana: { + timezone: 'America/Guyana', + locality: 'Guyana', + }, + }, + Honduras: { + Tegucigalpa: { + timezone: 'America/Tegucigalpa', + locality: 'Tegucigalpa', + }, + }, + Haiti: { + 'Port-au-Prince': { + timezone: 'America/Port-au-Prince', + locality: 'Port-au-Prince', + }, + }, + Jamaica: { + Jamaica: { + timezone: 'America/Jamaica', + locality: 'Jamaica', + }, + }, + 'Saint Kitts and Nevis': { + 'St Kitts': { + timezone: 'America/St_Kitts', + locality: 'St Kitts', + }, + }, + 'Cayman Islands': { + Cayman: { + timezone: 'America/Cayman', + locality: 'Cayman', + }, + }, + 'Saint Lucia': { + 'St Lucia': { + timezone: 'America/St_Lucia', + locality: 'St Lucia', + }, + }, + 'Saint Martin (French part)': { + Marigot: { + timezone: 'America/Marigot', + locality: 'Marigot', + }, + }, + Martinique: { + Martinique: { + timezone: 'America/Martinique', + locality: 'Martinique', + }, + }, + Montserrat: { + Montserrat: { + timezone: 'America/Montserrat', + locality: 'Montserrat', + }, + }, + Mexico: { + 'Bahia Banderas': { + timezone: 'America/Bahia_Banderas', + locality: 'Bahia Banderas', + }, + Cancun: { + timezone: 'America/Cancun', + locality: 'Cancun', + }, + Chihuahua: { + timezone: 'America/Chihuahua', + locality: 'Chihuahua', + }, + Hermosillo: { + timezone: 'America/Hermosillo', + locality: 'Hermosillo', + }, + Matamoros: { + timezone: 'America/Matamoros', + locality: 'Matamoros', + }, + Mazatlan: { + timezone: 'America/Mazatlan', + locality: 'Mazatlan', + }, + Merida: { + timezone: 'America/Merida', + locality: 'Merida', + }, + 'Mexico City': { + timezone: 'America/Mexico_City', + locality: 'Mexico City', + }, + Monterrey: { + timezone: 'America/Monterrey', + locality: 'Monterrey', + }, + Ojinaga: { + timezone: 'America/Ojinaga', + locality: 'Ojinaga', + }, + Tijuana: { + timezone: 'America/Tijuana', + locality: 'Tijuana', + }, + }, + Nicaragua: { + Managua: { + timezone: 'America/Managua', + locality: 'Managua', + }, + }, + Panama: { + Panama: { + timezone: 'America/Panama', + locality: 'Panama', + }, + }, + Peru: { + Lima: { + timezone: 'America/Lima', + locality: 'Lima', + }, + }, + 'Saint Pierre and Miquelon': { + Miquelon: { + timezone: 'America/Miquelon', + locality: 'Miquelon', + }, + }, + 'Puerto Rico': { + 'Puerto Rico': { + timezone: 'America/Puerto_Rico', + locality: 'Puerto Rico', + }, + }, + Paraguay: { + Asuncion: { + timezone: 'America/Asuncion', + locality: 'Asuncion', + }, + }, + Suriname: { + Paramaribo: { + timezone: 'America/Paramaribo', + locality: 'Paramaribo', + }, + }, + 'El Salvador': { + 'El Salvador': { + timezone: 'America/El_Salvador', + locality: 'El Salvador', + }, + }, + 'Sint Maarten (Dutch part)': { + 'Lower Princes': { + timezone: 'America/Lower_Princes', + locality: 'Lower Princes', + }, + }, + 'Turks and Caicos Islands': { + 'Grand Turk': { + timezone: 'America/Grand_Turk', + locality: 'Grand Turk', + }, + }, + 'Trinidad and Tobago': { + 'Port of Spain': { + timezone: 'America/Port_of_Spain', + locality: 'Port of Spain', + }, + }, + 'United States': { + Adak: { + timezone: 'America/Adak', + locality: 'Adak', + }, + Anchorage: { + timezone: 'America/Anchorage', + locality: 'Anchorage', + }, + Boise: { + timezone: 'America/Boise', + locality: 'Boise', + }, + Chicago: { + timezone: 'America/Chicago', + locality: 'Chicago', + }, + Denver: { + timezone: 'America/Denver', + locality: 'Denver', + }, + Detroit: { + timezone: 'America/Detroit', + locality: 'Detroit', + }, + Indianapolis: { + timezone: 'America/Indiana/Indianapolis', + locality: 'Indianapolis', + }, + Knox: { + timezone: 'America/Indiana/Knox', + locality: 'Knox', + }, + Marengo: { + timezone: 'America/Indiana/Marengo', + locality: 'Marengo', + }, + Petersburg: { + timezone: 'America/Indiana/Petersburg', + locality: 'Petersburg', + }, + 'Tell City': { + timezone: 'America/Indiana/Tell_City', + locality: 'Tell City', + }, + Vevay: { + timezone: 'America/Indiana/Vevay', + locality: 'Vevay', + }, + Vincennes: { + timezone: 'America/Indiana/Vincennes', + locality: 'Vincennes', + }, + Winamac: { + timezone: 'America/Indiana/Winamac', + locality: 'Winamac', + }, + Juneau: { + timezone: 'America/Juneau', + locality: 'Juneau', + }, + Louisville: { + timezone: 'America/Kentucky/Louisville', + locality: 'Louisville', + }, + Monticello: { + timezone: 'America/Kentucky/Monticello', + locality: 'Monticello', + }, + 'Los Angeles': { + timezone: 'America/Los_Angeles', + locality: 'Los Angeles', + }, + Menominee: { + timezone: 'America/Menominee', + locality: 'Menominee', + }, + Metlakatla: { + timezone: 'America/Metlakatla', + locality: 'Metlakatla', + }, + 'New York': { + timezone: 'America/New_York', + locality: 'New York', + }, + Nome: { + timezone: 'America/Nome', + locality: 'Nome', + }, + Beulah: { + timezone: 'America/North_Dakota/Beulah', + locality: 'Beulah', + }, + Center: { + timezone: 'America/North_Dakota/Center', + locality: 'Center', + }, + 'New Salem': { + timezone: 'America/North_Dakota/New_Salem', + locality: 'New Salem', + }, + Phoenix: { + timezone: 'America/Phoenix', + locality: 'Phoenix', + }, + Sitka: { + timezone: 'America/Sitka', + locality: 'Sitka', + }, + Yakutat: { + timezone: 'America/Yakutat', + locality: 'Yakutat', + }, + }, + Uruguay: { + Montevideo: { + timezone: 'America/Montevideo', + locality: 'Montevideo', + }, + }, + 'Saint Vincent and the Grenadines': { + 'St Vincent': { + timezone: 'America/St_Vincent', + locality: 'St Vincent', + }, + }, + 'Venezuela, Bolivarian Republic of': { + Caracas: { + timezone: 'America/Caracas', + locality: 'Caracas', + }, + }, + 'Virgin Islands, British': { + Tortola: { + timezone: 'America/Tortola', + locality: 'Tortola', + }, + }, + 'Virgin Islands, U.S.': { + 'St Thomas': { + timezone: 'America/St_Thomas', + locality: 'St Thomas', + }, + }, + }, + Africa: { + Angola: { + Luanda: { + timezone: 'Africa/Luanda', + locality: 'Luanda', + }, + }, + 'Burkina Faso': { + Ouagadougou: { + timezone: 'Africa/Ouagadougou', + locality: 'Ouagadougou', + }, + }, + Burundi: { + Bujumbura: { + timezone: 'Africa/Bujumbura', + locality: 'Bujumbura', + }, + }, + Benin: { + 'Porto-Novo': { + timezone: 'Africa/Porto-Novo', + locality: 'Porto-Novo', + }, + }, + Botswana: { + Gaborone: { + timezone: 'Africa/Gaborone', + locality: 'Gaborone', + }, + }, + 'Congo, the Democratic Republic of the': { + Kinshasa: { + timezone: 'Africa/Kinshasa', + locality: 'Kinshasa', + }, + Lubumbashi: { + timezone: 'Africa/Lubumbashi', + locality: 'Lubumbashi', + }, + }, + 'Central African Republic': { + Bangui: { + timezone: 'Africa/Bangui', + locality: 'Bangui', + }, + }, + Congo: { + Brazzaville: { + timezone: 'Africa/Brazzaville', + locality: 'Brazzaville', + }, + }, + "Côte d'Ivoire": { + Abidjan: { + timezone: 'Africa/Abidjan', + locality: 'Abidjan', + }, + }, + Cameroon: { + Douala: { + timezone: 'Africa/Douala', + locality: 'Douala', + }, + }, + Djibouti: { + Djibouti: { + timezone: 'Africa/Djibouti', + locality: 'Djibouti', + }, + }, + Algeria: { + Algiers: { + timezone: 'Africa/Algiers', + locality: 'Algiers', + }, + }, + Egypt: { + Cairo: { + timezone: 'Africa/Cairo', + locality: 'Cairo', + }, + }, + 'Western Sahara': { + 'El Aaiun': { + timezone: 'Africa/El_Aaiun', + locality: 'El Aaiun', + }, + }, + Eritrea: { + Asmara: { + timezone: 'Africa/Asmara', + locality: 'Asmara', + }, + }, + Spain: { + Ceuta: { + timezone: 'Africa/Ceuta', + locality: 'Ceuta', + }, + }, + Ethiopia: { + 'Addis Ababa': { + timezone: 'Africa/Addis_Ababa', + locality: 'Addis Ababa', + }, + }, + Gabon: { + Libreville: { + timezone: 'Africa/Libreville', + locality: 'Libreville', + }, + }, + Ghana: { + Accra: { + timezone: 'Africa/Accra', + locality: 'Accra', + }, + }, + Gambia: { + Banjul: { + timezone: 'Africa/Banjul', + locality: 'Banjul', + }, + }, + Guinea: { + Conakry: { + timezone: 'Africa/Conakry', + locality: 'Conakry', + }, + }, + 'Equatorial Guinea': { + Malabo: { + timezone: 'Africa/Malabo', + locality: 'Malabo', + }, + }, + 'Guinea-Bissau': { + Bissau: { + timezone: 'Africa/Bissau', + locality: 'Bissau', + }, + }, + Kenya: { + Nairobi: { + timezone: 'Africa/Nairobi', + locality: 'Nairobi', + }, + }, + Liberia: { + Monrovia: { + timezone: 'Africa/Monrovia', + locality: 'Monrovia', + }, + }, + Lesotho: { + Maseru: { + timezone: 'Africa/Maseru', + locality: 'Maseru', + }, + }, + Libya: { + Tripoli: { + timezone: 'Africa/Tripoli', + locality: 'Tripoli', + }, + }, + Morocco: { + Casablanca: { + timezone: 'Africa/Casablanca', + locality: 'Casablanca', + }, + }, + Mali: { + Bamako: { + timezone: 'Africa/Bamako', + locality: 'Bamako', + }, + }, + Mauritania: { + Nouakchott: { + timezone: 'Africa/Nouakchott', + locality: 'Nouakchott', + }, + }, + Malawi: { + Blantyre: { + timezone: 'Africa/Blantyre', + locality: 'Blantyre', + }, + }, + Mozambique: { + Maputo: { + timezone: 'Africa/Maputo', + locality: 'Maputo', + }, + }, + Namibia: { + Windhoek: { + timezone: 'Africa/Windhoek', + locality: 'Windhoek', + }, + }, + Niger: { + Niamey: { + timezone: 'Africa/Niamey', + locality: 'Niamey', + }, + }, + Nigeria: { + Lagos: { + timezone: 'Africa/Lagos', + locality: 'Lagos', + }, + }, + Rwanda: { + Kigali: { + timezone: 'Africa/Kigali', + locality: 'Kigali', + }, + }, + Sudan: { + Khartoum: { + timezone: 'Africa/Khartoum', + locality: 'Khartoum', + }, + }, + 'Sierra Leone': { + Freetown: { + timezone: 'Africa/Freetown', + locality: 'Freetown', + }, + }, + Senegal: { + Dakar: { + timezone: 'Africa/Dakar', + locality: 'Dakar', + }, + }, + Somalia: { + Mogadishu: { + timezone: 'Africa/Mogadishu', + locality: 'Mogadishu', + }, + }, + 'South Sudan': { + Juba: { + timezone: 'Africa/Juba', + locality: 'Juba', + }, + }, + 'Sao Tome and Principe': { + 'Sao Tome': { + timezone: 'Africa/Sao_Tome', + locality: 'Sao Tome', + }, + }, + Swaziland: { + Mbabane: { + timezone: 'Africa/Mbabane', + locality: 'Mbabane', + }, + }, + Chad: { + Ndjamena: { + timezone: 'Africa/Ndjamena', + locality: 'Ndjamena', + }, + }, + Togo: { + Lome: { + timezone: 'Africa/Lome', + locality: 'Lome', + }, + }, + Tunisia: { + Tunis: { + timezone: 'Africa/Tunis', + locality: 'Tunis', + }, + }, + 'Tanzania, United Republic of': { + 'Dar es Salaam': { + timezone: 'Africa/Dar_es_Salaam', + locality: 'Dar es Salaam', + }, + }, + Uganda: { + Kampala: { + timezone: 'Africa/Kampala', + locality: 'Kampala', + }, + }, + 'South Africa': { + Johannesburg: { + timezone: 'Africa/Johannesburg', + locality: 'Johannesburg', + }, + }, + Zambia: { + Lusaka: { + timezone: 'Africa/Lusaka', + locality: 'Lusaka', + }, + }, + Zimbabwe: { + Harare: { + timezone: 'Africa/Harare', + locality: 'Harare', + }, + }, + }, + Antarctica: { + Antarctica: { + Casey: { + timezone: 'Antarctica/Casey', + locality: 'Casey', + }, + Davis: { + timezone: 'Antarctica/Davis', + locality: 'Davis', + }, + DumontDUrville: { + timezone: 'Antarctica/DumontDUrville', + locality: 'DumontDUrville', + }, + Mawson: { + timezone: 'Antarctica/Mawson', + locality: 'Mawson', + }, + McMurdo: { + timezone: 'Antarctica/McMurdo', + locality: 'McMurdo', + }, + Palmer: { + timezone: 'Antarctica/Palmer', + locality: 'Palmer', + }, + Rothera: { + timezone: 'Antarctica/Rothera', + locality: 'Rothera', + }, + Syowa: { + timezone: 'Antarctica/Syowa', + locality: 'Syowa', + }, + Troll: { + timezone: 'Antarctica/Troll', + locality: 'Troll', + }, + Vostok: { + timezone: 'Antarctica/Vostok', + locality: 'Vostok', + }, + }, + Australia: { + Macquarie: { + timezone: 'Antarctica/Macquarie', + locality: 'Macquarie', + }, + }, + }, + Pacific: { + 'American Samoa': { + 'Pago Pago': { + timezone: 'Pacific/Pago_Pago', + locality: 'Pago Pago', + }, + }, + 'Cook Islands': { + Rarotonga: { + timezone: 'Pacific/Rarotonga', + locality: 'Rarotonga', + }, + }, + Chile: { + Easter: { + timezone: 'Pacific/Easter', + locality: 'Easter', + }, + }, + Ecuador: { + Galapagos: { + timezone: 'Pacific/Galapagos', + locality: 'Galapagos', + }, + }, + Fiji: { + Fiji: { + timezone: 'Pacific/Fiji', + locality: 'Fiji', + }, + }, + 'Micronesia, Federated States of': { + Chuuk: { + timezone: 'Pacific/Chuuk', + locality: 'Chuuk', + }, + Kosrae: { + timezone: 'Pacific/Kosrae', + locality: 'Kosrae', + }, + Pohnpei: { + timezone: 'Pacific/Pohnpei', + locality: 'Pohnpei', + }, + }, + Guam: { + Guam: { + timezone: 'Pacific/Guam', + locality: 'Guam', + }, + }, + Kiribati: { + Enderbury: { + timezone: 'Pacific/Enderbury', + locality: 'Enderbury', + }, + Kiritimati: { + timezone: 'Pacific/Kiritimati', + locality: 'Kiritimati', + }, + Tarawa: { + timezone: 'Pacific/Tarawa', + locality: 'Tarawa', + }, + }, + 'Marshall Islands': { + Kwajalein: { + timezone: 'Pacific/Kwajalein', + locality: 'Kwajalein', + }, + Majuro: { + timezone: 'Pacific/Majuro', + locality: 'Majuro', + }, + }, + 'Northern Mariana Islands': { + Saipan: { + timezone: 'Pacific/Saipan', + locality: 'Saipan', + }, + }, + 'New Caledonia': { + Noumea: { + timezone: 'Pacific/Noumea', + locality: 'Noumea', + }, + }, + 'Norfolk Island': { + Norfolk: { + timezone: 'Pacific/Norfolk', + locality: 'Norfolk', + }, + }, + Nauru: { + Nauru: { + timezone: 'Pacific/Nauru', + locality: 'Nauru', + }, + }, + Niue: { + Niue: { + timezone: 'Pacific/Niue', + locality: 'Niue', + }, + }, + 'New Zealand': { + Auckland: { + timezone: 'Pacific/Auckland', + locality: 'Auckland', + }, + Chatham: { + timezone: 'Pacific/Chatham', + locality: 'Chatham', + }, + }, + 'French Polynesia': { + Gambier: { + timezone: 'Pacific/Gambier', + locality: 'Gambier', + }, + Marquesas: { + timezone: 'Pacific/Marquesas', + locality: 'Marquesas', + }, + Tahiti: { + timezone: 'Pacific/Tahiti', + locality: 'Tahiti', + }, + }, + 'Papua New Guinea': { + Bougainville: { + timezone: 'Pacific/Bougainville', + locality: 'Bougainville', + }, + 'Port Moresby': { + timezone: 'Pacific/Port_Moresby', + locality: 'Port Moresby', + }, + }, + Pitcairn: { + Pitcairn: { + timezone: 'Pacific/Pitcairn', + locality: 'Pitcairn', + }, + }, + Palau: { + Palau: { + timezone: 'Pacific/Palau', + locality: 'Palau', + }, + }, + 'Solomon Islands': { + Guadalcanal: { + timezone: 'Pacific/Guadalcanal', + locality: 'Guadalcanal', + }, + }, + Tokelau: { + Fakaofo: { + timezone: 'Pacific/Fakaofo', + locality: 'Fakaofo', + }, + }, + Tonga: { + Tongatapu: { + timezone: 'Pacific/Tongatapu', + locality: 'Tongatapu', + }, + }, + Tuvalu: { + Funafuti: { + timezone: 'Pacific/Funafuti', + locality: 'Funafuti', + }, + }, + 'United States Minor Outlying Islands': { + Midway: { + timezone: 'Pacific/Midway', + locality: 'Midway', + }, + Wake: { + timezone: 'Pacific/Wake', + locality: 'Wake', + }, + }, + 'United States': { + Honolulu: { + timezone: 'Pacific/Honolulu', + locality: 'Honolulu', + }, + }, + Vanuatu: { + Efate: { + timezone: 'Pacific/Efate', + locality: 'Efate', + }, + }, + 'Wallis and Futuna': { + Wallis: { + timezone: 'Pacific/Wallis', + locality: 'Wallis', + }, + }, + Samoa: { + Apia: { + timezone: 'Pacific/Apia', + locality: 'Apia', + }, + }, + }, + Australia: { + Australia: { + Adelaide: { + timezone: 'Australia/Adelaide', + locality: 'Adelaide', + }, + Brisbane: { + timezone: 'Australia/Brisbane', + locality: 'Brisbane', + }, + 'Broken Hill': { + timezone: 'Australia/Broken_Hill', + locality: 'Broken Hill', + }, + Currie: { + timezone: 'Australia/Currie', + locality: 'Currie', + }, + Darwin: { + timezone: 'Australia/Darwin', + locality: 'Darwin', + }, + Eucla: { + timezone: 'Australia/Eucla', + locality: 'Eucla', + }, + Hobart: { + timezone: 'Australia/Hobart', + locality: 'Hobart', + }, + Lindeman: { + timezone: 'Australia/Lindeman', + locality: 'Lindeman', + }, + 'Lord Howe': { + timezone: 'Australia/Lord_Howe', + locality: 'Lord Howe', + }, + Melbourne: { + timezone: 'Australia/Melbourne', + locality: 'Melbourne', + }, + Perth: { + timezone: 'Australia/Perth', + locality: 'Perth', + }, + Sydney: { + timezone: 'Australia/Sydney', + locality: 'Sydney', + }, + }, + }, + Atlantic: { + Bermuda: { + Bermuda: { + timezone: 'Atlantic/Bermuda', + locality: 'Bermuda', + }, + }, + 'Cape Verde': { + 'Cape Verde': { + timezone: 'Atlantic/Cape_Verde', + locality: 'Cape Verde', + }, + }, + Spain: { + Canary: { + timezone: 'Atlantic/Canary', + locality: 'Canary', + }, + }, + 'Falkland Islands (Malvinas)': { + Stanley: { + timezone: 'Atlantic/Stanley', + locality: 'Stanley', + }, + }, + 'Faroe Islands': { + Faroe: { + timezone: 'Atlantic/Faroe', + locality: 'Faroe', + }, + }, + 'South Georgia and the South Sandwich Islands': { + 'South Georgia': { + timezone: 'Atlantic/South_Georgia', + locality: 'South Georgia', + }, + }, + Iceland: { + Reykjavik: { + timezone: 'Atlantic/Reykjavik', + locality: 'Reykjavik', + }, + }, + Portugal: { + Azores: { + timezone: 'Atlantic/Azores', + locality: 'Azores', + }, + Madeira: { + timezone: 'Atlantic/Madeira', + locality: 'Madeira', + }, + }, + 'Saint Helena, Ascension and Tristan da Cunha': { + 'St Helena': { + timezone: 'Atlantic/St_Helena', + locality: 'St Helena', + }, + }, + }, + Indian: { + 'Cocos (Keeling) Islands': { + Cocos: { + timezone: 'Indian/Cocos', + locality: 'Cocos', + }, + }, + 'Christmas Island': { + Christmas: { + timezone: 'Indian/Christmas', + locality: 'Christmas', + }, + }, + 'British Indian Ocean Territory': { + Chagos: { + timezone: 'Indian/Chagos', + locality: 'Chagos', + }, + }, + Comoros: { + Comoro: { + timezone: 'Indian/Comoro', + locality: 'Comoro', + }, + }, + Madagascar: { + Antananarivo: { + timezone: 'Indian/Antananarivo', + locality: 'Antananarivo', + }, + }, + Mauritius: { + Mauritius: { + timezone: 'Indian/Mauritius', + locality: 'Mauritius', + }, + }, + Maldives: { + Maldives: { + timezone: 'Indian/Maldives', + locality: 'Maldives', + }, + }, + Réunion: { + Reunion: { + timezone: 'Indian/Reunion', + locality: 'Reunion', + }, + }, + Seychelles: { + Mahe: { + timezone: 'Indian/Mahe', + locality: 'Mahe', + }, + }, + 'French Southern Territories': { + Kerguelen: { + timezone: 'Indian/Kerguelen', + locality: 'Kerguelen', + }, + }, + Mayotte: { + Mayotte: { + timezone: 'Indian/Mayotte', + locality: 'Mayotte', + }, + }, + }, + Arctic: { + 'Svalbard and Jan Mayen': { + Longyearbyen: { + timezone: 'Arctic/Longyearbyen', + locality: 'Longyearbyen', + }, + }, + }, +}; diff --git a/src/components/General/TimezonePicker.js b/src/components/General/TimezonePicker.js new file mode 100644 index 0000000..511c58f --- /dev/null +++ b/src/components/General/TimezonePicker.js @@ -0,0 +1,26 @@ +import React, { useState, useEffect } from 'react'; +import { timezones } from '../../assets/data/timezonesFlat'; +import { InputPicker } from 'rsuite'; + +export default function TimezonePicker(props) { + const [timezone, setTimezone] = useState(''); + + useEffect(() => { + console.log('useEffect:', timezone); + }, [timezone]); + + return ( + setTimezone(item.timezone)} + onClean={(event) => setTimezone('')} + value={timezone} + valueKey='timezone' + /> + ); +} diff --git a/src/components/General/TimezonesCascader.js b/src/components/General/TimezonesCascader.js deleted file mode 100644 index 3f9b6b8..0000000 --- a/src/components/General/TimezonesCascader.js +++ /dev/null @@ -1,17 +0,0 @@ -import React from 'react'; -import { timezones } from '../../assets/data/timezones'; -import { Cascader } from 'rsuite'; - -export default function TzDropdown() { - // do something here - // const handleSelect = event => { - // console.log(event) - // } - - return ( - <> -

Aha!

- - - ); -} diff --git a/src/screens/Register.js b/src/screens/Register.js index 0e6176d..608feb3 100644 --- a/src/screens/Register.js +++ b/src/screens/Register.js @@ -9,7 +9,7 @@ import { Button, } from 'rsuite'; -import TzDropdown from '../components/General/TimezonesCascader'; +import TimezonePicker from '../components/General/TimezonePicker'; const boxStyle = { maxWidth: 373, @@ -43,7 +43,7 @@ export default function Register() { /> - +

Schedule a meeting

-
+ @@ -21,7 +21,7 @@ export default function Schedule() { /> - +