174

I am developing an application with react/redux, and I started using library react-intl for formatting messages and dates.

I have already been able to show in a <FormattedDate> tag what timezone it's using.

I would like to have in a select all the possible timezones existing, so when the user picks one timezone, the <FormattedDate> changes to that format automatically.

I don't find how to list all posible timezones with react-intl.

I have also searched in google, and I did not find any built-in javascript function that does that.

Is it that way? How can I obtain that list?

Note: Don't think its the same question, since I don't want to use external libraries, if possible, if its the only solution then I will have to handle that way... :/

5
  • Possible duplicate of How do I get timezones list using moment.js library? Commented Jul 15, 2016 at 16:51
  • 1
    I found that library on google also, but I would like to do it with no more libraries, Just can believe its not implemented in javascript :/ Commented Jul 15, 2016 at 20:24
  • Believe it. Time zones in JavaScript have a long history of being insufficiently supported, and while there are some recent improvements, we still have a long way to go. Commented Jul 15, 2016 at 22:29
  • 1
    There is no fixed "list of all possible timezone names". Timezones, just like locales, are an evolving standard. Any "fixed" list in a library or browser will become outdated and different libraries implement different "snapshots". The common reference is the Unicode CLDR database cldr.unicode.org github.com/unicode-org/cldr/commits/master/common/bcp47/…; So taking a conservative subset supported on all platforms/libraries which consume your string may be a more robust option (esp. if your control is the sole source of input). Commented Apr 21, 2021 at 21:27
  • See my answer below, but tl;dr = Intl.supportedValuesOf("timeZone") Commented May 2 at 5:59

15 Answers 15

276

I recently created an array containing all timezones and found that a couple of official timezones were missing from Chromium 71.0.3578.98.

You can see that array in this comment of the bug I reported. For convenience, I've included the array below:

var aryIanaTimeZones = [
  'Europe/Andorra',
  'Asia/Dubai',
  'Asia/Kabul',
  'Europe/Tirane',
  'Asia/Yerevan',
  'Antarctica/Casey',
  'Antarctica/Davis',
  'Antarctica/DumontDUrville', // https://bugs.chromium.org/p/chromium/issues/detail?id=928068
  'Antarctica/Mawson',
  'Antarctica/Palmer',
  'Antarctica/Rothera',
  'Antarctica/Syowa',
  'Antarctica/Troll',
  'Antarctica/Vostok',
  'America/Argentina/Buenos_Aires',
  'America/Argentina/Cordoba',
  'America/Argentina/Salta',
  'America/Argentina/Jujuy',
  'America/Argentina/Tucuman',
  'America/Argentina/Catamarca',
  'America/Argentina/La_Rioja',
  'America/Argentina/San_Juan',
  'America/Argentina/Mendoza',
  'America/Argentina/San_Luis',
  'America/Argentina/Rio_Gallegos',
  'America/Argentina/Ushuaia',
  'Pacific/Pago_Pago',
  'Europe/Vienna',
  'Australia/Lord_Howe',
  'Antarctica/Macquarie',
  'Australia/Hobart',
  'Australia/Currie',
  'Australia/Melbourne',
  'Australia/Sydney',
  'Australia/Broken_Hill',
  'Australia/Brisbane',
  'Australia/Lindeman',
  'Australia/Adelaide',
  'Australia/Darwin',
  'Australia/Perth',
  'Australia/Eucla',
  'Asia/Baku',
  'America/Barbados',
  'Asia/Dhaka',
  'Europe/Brussels',
  'Europe/Sofia',
  'Atlantic/Bermuda',
  'Asia/Brunei',
  'America/La_Paz',
  'America/Noronha',
  'America/Belem',
  'America/Fortaleza',
  'America/Recife',
  'America/Araguaina',
  'America/Maceio',
  'America/Bahia',
  'America/Sao_Paulo',
  'America/Campo_Grande',
  'America/Cuiaba',
  'America/Santarem',
  'America/Porto_Velho',
  'America/Boa_Vista',
  'America/Manaus',
  'America/Eirunepe',
  'America/Rio_Branco',
  'America/Nassau',
  'Asia/Thimphu',
  'Europe/Minsk',
  'America/Belize',
  'America/St_Johns',
  'America/Halifax',
  'America/Glace_Bay',
  'America/Moncton',
  'America/Goose_Bay',
  'America/Blanc-Sablon',
  'America/Toronto',
  'America/Nipigon',
  'America/Thunder_Bay',
  'America/Iqaluit',
  'America/Pangnirtung',
  'America/Atikokan',
  'America/Winnipeg',
  'America/Rainy_River',
  'America/Resolute',
  'America/Rankin_Inlet',
  'America/Regina',
  'America/Swift_Current',
  'America/Edmonton',
  'America/Cambridge_Bay',
  'America/Yellowknife',
  'America/Inuvik',
  'America/Creston',
  'America/Dawson_Creek',
  'America/Fort_Nelson',
  'America/Vancouver',
  'America/Whitehorse',
  'America/Dawson',
  'Indian/Cocos',
  'Europe/Zurich',
  'Africa/Abidjan',
  'Pacific/Rarotonga',
  'America/Santiago',
  'America/Punta_Arenas',
  'Pacific/Easter',
  'Asia/Shanghai',
  'Asia/Urumqi',
  'America/Bogota',
  'America/Costa_Rica',
  'America/Havana',
  'Atlantic/Cape_Verde',
  'America/Curacao',
  'Indian/Christmas',
  'Asia/Nicosia',
  'Asia/Famagusta',
  'Europe/Prague',
  'Europe/Berlin',
  'Europe/Copenhagen',
  'America/Santo_Domingo',
  'Africa/Algiers',
  'America/Guayaquil',
  'Pacific/Galapagos',
  'Europe/Tallinn',
  'Africa/Cairo',
  'Africa/El_Aaiun',
  'Europe/Madrid',
  'Africa/Ceuta',
  'Atlantic/Canary',
  'Europe/Helsinki',
  'Pacific/Fiji',
  'Atlantic/Stanley',
  'Pacific/Chuuk',
  'Pacific/Pohnpei',
  'Pacific/Kosrae',
  'Atlantic/Faroe',
  'Europe/Paris',
  'Europe/London',
  'Asia/Tbilisi',
  'America/Cayenne',
  'Africa/Accra',
  'Europe/Gibraltar',
  'America/Godthab',
  'America/Danmarkshavn',
  'America/Scoresbysund',
  'America/Thule',
  'Europe/Athens',
  'Atlantic/South_Georgia',
  'America/Guatemala',
  'Pacific/Guam',
  'Africa/Bissau',
  'America/Guyana',
  'Asia/Hong_Kong',
  'America/Tegucigalpa',
  'America/Port-au-Prince',
  'Europe/Budapest',
  'Asia/Jakarta',
  'Asia/Pontianak',
  'Asia/Makassar',
  'Asia/Jayapura',
  'Europe/Dublin',
  'Asia/Jerusalem',
  'Asia/Kolkata',
  'Indian/Chagos',
  'Asia/Baghdad',
  'Asia/Tehran',
  'Atlantic/Reykjavik',
  'Europe/Rome',
  'America/Jamaica',
  'Asia/Amman',
  'Asia/Tokyo',
  'Africa/Nairobi',
  'Asia/Bishkek',
  'Pacific/Tarawa',
  'Pacific/Enderbury',
  'Pacific/Kiritimati',
  'Asia/Pyongyang',
  'Asia/Seoul',
  'Asia/Almaty',
  'Asia/Qyzylorda',
  'Asia/Qostanay', // https://bugs.chromium.org/p/chromium/issues/detail?id=928068
  'Asia/Aqtobe',
  'Asia/Aqtau',
  'Asia/Atyrau',
  'Asia/Oral',
  'Asia/Beirut',
  'Asia/Colombo',
  'Africa/Monrovia',
  'Europe/Vilnius',
  'Europe/Luxembourg',
  'Europe/Riga',
  'Africa/Tripoli',
  'Africa/Casablanca',
  'Europe/Monaco',
  'Europe/Chisinau',
  'Pacific/Majuro',
  'Pacific/Kwajalein',
  'Asia/Yangon',
  'Asia/Ulaanbaatar',
  'Asia/Hovd',
  'Asia/Choibalsan',
  'Asia/Macau',
  'America/Martinique',
  'Europe/Malta',
  'Indian/Mauritius',
  'Indian/Maldives',
  'America/Mexico_City',
  'America/Cancun',
  'America/Merida',
  'America/Monterrey',
  'America/Matamoros',
  'America/Mazatlan',
  'America/Chihuahua',
  'America/Ojinaga',
  'America/Hermosillo',
  'America/Tijuana',
  'America/Bahia_Banderas',
  'Asia/Kuala_Lumpur',
  'Asia/Kuching',
  'Africa/Maputo',
  'Africa/Windhoek',
  'Pacific/Noumea',
  'Pacific/Norfolk',
  'Africa/Lagos',
  'America/Managua',
  'Europe/Amsterdam',
  'Europe/Oslo',
  'Asia/Kathmandu',
  'Pacific/Nauru',
  'Pacific/Niue',
  'Pacific/Auckland',
  'Pacific/Chatham',
  'America/Panama',
  'America/Lima',
  'Pacific/Tahiti',
  'Pacific/Marquesas',
  'Pacific/Gambier',
  'Pacific/Port_Moresby',
  'Pacific/Bougainville',
  'Asia/Manila',
  'Asia/Karachi',
  'Europe/Warsaw',
  'America/Miquelon',
  'Pacific/Pitcairn',
  'America/Puerto_Rico',
  'Asia/Gaza',
  'Asia/Hebron',
  'Europe/Lisbon',
  'Atlantic/Madeira',
  'Atlantic/Azores',
  'Pacific/Palau',
  'America/Asuncion',
  'Asia/Qatar',
  'Indian/Reunion',
  'Europe/Bucharest',
  'Europe/Belgrade',
  'Europe/Kaliningrad',
  'Europe/Moscow',
  'Europe/Simferopol',
  'Europe/Kirov',
  'Europe/Astrakhan',
  'Europe/Volgograd',
  'Europe/Saratov',
  'Europe/Ulyanovsk',
  'Europe/Samara',
  'Asia/Yekaterinburg',
  'Asia/Omsk',
  'Asia/Novosibirsk',
  'Asia/Barnaul',
  'Asia/Tomsk',
  'Asia/Novokuznetsk',
  'Asia/Krasnoyarsk',
  'Asia/Irkutsk',
  'Asia/Chita',
  'Asia/Yakutsk',
  'Asia/Khandyga',
  'Asia/Vladivostok',
  'Asia/Ust-Nera',
  'Asia/Magadan',
  'Asia/Sakhalin',
  'Asia/Srednekolymsk',
  'Asia/Kamchatka',
  'Asia/Anadyr',
  'Asia/Riyadh',
  'Pacific/Guadalcanal',
  'Indian/Mahe',
  'Africa/Khartoum',
  'Europe/Stockholm',
  'Asia/Singapore',
  'America/Paramaribo',
  'Africa/Juba',
  'Africa/Sao_Tome',
  'America/El_Salvador',
  'Asia/Damascus',
  'America/Grand_Turk',
  'Africa/Ndjamena',
  'Indian/Kerguelen',
  'Asia/Bangkok',
  'Asia/Dushanbe',
  'Pacific/Fakaofo',
  'Asia/Dili',
  'Asia/Ashgabat',
  'Africa/Tunis',
  'Pacific/Tongatapu',
  'Europe/Istanbul',
  'America/Port_of_Spain',
  'Pacific/Funafuti',
  'Asia/Taipei',
  'Europe/Kiev',
  'Europe/Uzhgorod',
  'Europe/Zaporozhye',
  'Pacific/Wake',
  'America/New_York',
  'America/Detroit',
  'America/Kentucky/Louisville',
  'America/Kentucky/Monticello',
  'America/Indiana/Indianapolis',
  'America/Indiana/Vincennes',
  'America/Indiana/Winamac',
  'America/Indiana/Marengo',
  'America/Indiana/Petersburg',
  'America/Indiana/Vevay',
  'America/Chicago',
  'America/Indiana/Tell_City',
  'America/Indiana/Knox',
  'America/Menominee',
  'America/North_Dakota/Center',
  'America/North_Dakota/New_Salem',
  'America/North_Dakota/Beulah',
  'America/Denver',
  'America/Boise',
  'America/Phoenix',
  'America/Los_Angeles',
  'America/Anchorage',
  'America/Juneau',
  'America/Sitka',
  'America/Metlakatla',
  'America/Yakutat',
  'America/Nome',
  'America/Adak',
  'Pacific/Honolulu',
  'America/Montevideo',
  'Asia/Samarkand',
  'Asia/Tashkent',
  'America/Caracas',
  'Asia/Ho_Chi_Minh',
  'Pacific/Efate',
  'Pacific/Wallis',
  'Pacific/Apia',
  'Africa/Johannesburg'
];

let date = new Date;
aryIanaTimeZones.forEach((timeZone) =>
{
  let strTime = date.toLocaleString("en-US", {timeZone: `${timeZone}`});
  console.log(timeZone, strTime);
});

If you're like me, in wondering why there are so many timezones, check out this question.

UPDATE 2022-06-08:

If you only need a full list of time zones that your environment supports, you can now acquire that array using Intl.supportedValuesOf(), like this:

let ary = Intl.supportedValuesOf('timeZone');

Whether that list is complete or not, will depend on your environment.

In the snippet below, I replace that array (from the first snippet) with Intl.supportedValuesOf('timeZone'):

var aryIanaTimeZones = Intl.supportedValuesOf('timeZone');

let date = new Date;
aryIanaTimeZones.forEach((timeZone) =>
{
  let strTime = date.toLocaleString("en-US",{timeZone: `${timeZone}`});
  console.log(timeZone, strTime);
});

Here's a comparison of the custom array versus Intl.supportedValuesOf('timeZone'):

let ary1 = [
      'Europe/Andorra',
      'Asia/Dubai',
      'Asia/Kabul',
      'Europe/Tirane',
      'Asia/Yerevan',
      'Antarctica/Casey',
      'Antarctica/Davis',
      'Antarctica/DumontDUrville', // https://bugs.chromium.org/p/chromium/issues/detail?id=928068
      'Antarctica/Mawson',
      'Antarctica/Palmer',
      'Antarctica/Rothera',
      'Antarctica/Syowa',
      'Antarctica/Troll',
      'Antarctica/Vostok',
      'America/Argentina/Buenos_Aires',
      'America/Argentina/Cordoba',
      'America/Argentina/Salta',
      'America/Argentina/Jujuy',
      'America/Argentina/Tucuman',
      'America/Argentina/Catamarca',
      'America/Argentina/La_Rioja',
      'America/Argentina/San_Juan',
      'America/Argentina/Mendoza',
      'America/Argentina/San_Luis',
      'America/Argentina/Rio_Gallegos',
      'America/Argentina/Ushuaia',
      'Pacific/Pago_Pago',
      'Europe/Vienna',
      'Australia/Lord_Howe',
      'Antarctica/Macquarie',
      'Australia/Hobart',
      'Australia/Currie',
      'Australia/Melbourne',
      'Australia/Sydney',
      'Australia/Broken_Hill',
      'Australia/Brisbane',
      'Australia/Lindeman',
      'Australia/Adelaide',
      'Australia/Darwin',
      'Australia/Perth',
      'Australia/Eucla',
      'Asia/Baku',
      'America/Barbados',
      'Asia/Dhaka',
      'Europe/Brussels',
      'Europe/Sofia',
      'Atlantic/Bermuda',
      'Asia/Brunei',
      'America/La_Paz',
      'America/Noronha',
      'America/Belem',
      'America/Fortaleza',
      'America/Recife',
      'America/Araguaina',
      'America/Maceio',
      'America/Bahia',
      'America/Sao_Paulo',
      'America/Campo_Grande',
      'America/Cuiaba',
      'America/Santarem',
      'America/Porto_Velho',
      'America/Boa_Vista',
      'America/Manaus',
      'America/Eirunepe',
      'America/Rio_Branco',
      'America/Nassau',
      'Asia/Thimphu',
      'Europe/Minsk',
      'America/Belize',
      'America/St_Johns',
      'America/Halifax',
      'America/Glace_Bay',
      'America/Moncton',
      'America/Goose_Bay',
      'America/Blanc-Sablon',
      'America/Toronto',
      'America/Nipigon',
      'America/Thunder_Bay',
      'America/Iqaluit',
      'America/Pangnirtung',
      'America/Atikokan',
      'America/Winnipeg',
      'America/Rainy_River',
      'America/Resolute',
      'America/Rankin_Inlet',
      'America/Regina',
      'America/Swift_Current',
      'America/Edmonton',
      'America/Cambridge_Bay',
      'America/Yellowknife',
      'America/Inuvik',
      'America/Creston',
      'America/Dawson_Creek',
      'America/Fort_Nelson',
      'America/Vancouver',
      'America/Whitehorse',
      'America/Dawson',
      'Indian/Cocos',
      'Europe/Zurich',
      'Africa/Abidjan',
      'Pacific/Rarotonga',
      'America/Santiago',
      'America/Punta_Arenas',
      'Pacific/Easter',
      'Asia/Shanghai',
      'Asia/Urumqi',
      'America/Bogota',
      'America/Costa_Rica',
      'America/Havana',
      'Atlantic/Cape_Verde',
      'America/Curacao',
      'Indian/Christmas',
      'Asia/Nicosia',
      'Asia/Famagusta',
      'Europe/Prague',
      'Europe/Berlin',
      'Europe/Copenhagen',
      'America/Santo_Domingo',
      'Africa/Algiers',
      'America/Guayaquil',
      'Pacific/Galapagos',
      'Europe/Tallinn',
      'Africa/Cairo',
      'Africa/El_Aaiun',
      'Europe/Madrid',
      'Africa/Ceuta',
      'Atlantic/Canary',
      'Europe/Helsinki',
      'Pacific/Fiji',
      'Atlantic/Stanley',
      'Pacific/Chuuk',
      'Pacific/Pohnpei',
      'Pacific/Kosrae',
      'Atlantic/Faroe',
      'Europe/Paris',
      'Europe/London',
      'Asia/Tbilisi',
      'America/Cayenne',
      'Africa/Accra',
      'Europe/Gibraltar',
      'America/Godthab',
      'America/Danmarkshavn',
      'America/Scoresbysund',
      'America/Thule',
      'Europe/Athens',
      'Atlantic/South_Georgia',
      'America/Guatemala',
      'Pacific/Guam',
      'Africa/Bissau',
      'America/Guyana',
      'Asia/Hong_Kong',
      'America/Tegucigalpa',
      'America/Port-au-Prince',
      'Europe/Budapest',
      'Asia/Jakarta',
      'Asia/Pontianak',
      'Asia/Makassar',
      'Asia/Jayapura',
      'Europe/Dublin',
      'Asia/Jerusalem',
      'Asia/Kolkata',
      'Indian/Chagos',
      'Asia/Baghdad',
      'Asia/Tehran',
      'Atlantic/Reykjavik',
      'Europe/Rome',
      'America/Jamaica',
      'Asia/Amman',
      'Asia/Tokyo',
      'Africa/Nairobi',
      'Asia/Bishkek',
      'Pacific/Tarawa',
      'Pacific/Enderbury',
      'Pacific/Kiritimati',
      'Asia/Pyongyang',
      'Asia/Seoul',
      'Asia/Almaty',
      'Asia/Qyzylorda',
      'Asia/Qostanay', // https://bugs.chromium.org/p/chromium/issues/detail?id=928068
      'Asia/Aqtobe',
      'Asia/Aqtau',
      'Asia/Atyrau',
      'Asia/Oral',
      'Asia/Beirut',
      'Asia/Colombo',
      'Africa/Monrovia',
      'Europe/Vilnius',
      'Europe/Luxembourg',
      'Europe/Riga',
      'Africa/Tripoli',
      'Africa/Casablanca',
      'Europe/Monaco',
      'Europe/Chisinau',
      'Pacific/Majuro',
      'Pacific/Kwajalein',
      'Asia/Yangon',
      'Asia/Ulaanbaatar',
      'Asia/Hovd',
      'Asia/Choibalsan',
      'Asia/Macau',
      'America/Martinique',
      'Europe/Malta',
      'Indian/Mauritius',
      'Indian/Maldives',
      'America/Mexico_City',
      'America/Cancun',
      'America/Merida',
      'America/Monterrey',
      'America/Matamoros',
      'America/Mazatlan',
      'America/Chihuahua',
      'America/Ojinaga',
      'America/Hermosillo',
      'America/Tijuana',
      'America/Bahia_Banderas',
      'Asia/Kuala_Lumpur',
      'Asia/Kuching',
      'Africa/Maputo',
      'Africa/Windhoek',
      'Pacific/Noumea',
      'Pacific/Norfolk',
      'Africa/Lagos',
      'America/Managua',
      'Europe/Amsterdam',
      'Europe/Oslo',
      'Asia/Kathmandu',
      'Pacific/Nauru',
      'Pacific/Niue',
      'Pacific/Auckland',
      'Pacific/Chatham',
      'America/Panama',
      'America/Lima',
      'Pacific/Tahiti',
      'Pacific/Marquesas',
      'Pacific/Gambier',
      'Pacific/Port_Moresby',
      'Pacific/Bougainville',
      'Asia/Manila',
      'Asia/Karachi',
      'Europe/Warsaw',
      'America/Miquelon',
      'Pacific/Pitcairn',
      'America/Puerto_Rico',
      'Asia/Gaza',
      'Asia/Hebron',
      'Europe/Lisbon',
      'Atlantic/Madeira',
      'Atlantic/Azores',
      'Pacific/Palau',
      'America/Asuncion',
      'Asia/Qatar',
      'Indian/Reunion',
      'Europe/Bucharest',
      'Europe/Belgrade',
      'Europe/Kaliningrad',
      'Europe/Moscow',
      'Europe/Simferopol',
      'Europe/Kirov',
      'Europe/Astrakhan',
      'Europe/Volgograd',
      'Europe/Saratov',
      'Europe/Ulyanovsk',
      'Europe/Samara',
      'Asia/Yekaterinburg',
      'Asia/Omsk',
      'Asia/Novosibirsk',
      'Asia/Barnaul',
      'Asia/Tomsk',
      'Asia/Novokuznetsk',
      'Asia/Krasnoyarsk',
      'Asia/Irkutsk',
      'Asia/Chita',
      'Asia/Yakutsk',
      'Asia/Khandyga',
      'Asia/Vladivostok',
      'Asia/Ust-Nera',
      'Asia/Magadan',
      'Asia/Sakhalin',
      'Asia/Srednekolymsk',
      'Asia/Kamchatka',
      'Asia/Anadyr',
      'Asia/Riyadh',
      'Pacific/Guadalcanal',
      'Indian/Mahe',
      'Africa/Khartoum',
      'Europe/Stockholm',
      'Asia/Singapore',
      'America/Paramaribo',
      'Africa/Juba',
      'Africa/Sao_Tome',
      'America/El_Salvador',
      'Asia/Damascus',
      'America/Grand_Turk',
      'Africa/Ndjamena',
      'Indian/Kerguelen',
      'Asia/Bangkok',
      'Asia/Dushanbe',
      'Pacific/Fakaofo',
      'Asia/Dili',
      'Asia/Ashgabat',
      'Africa/Tunis',
      'Pacific/Tongatapu',
      'Europe/Istanbul',
      'America/Port_of_Spain',
      'Pacific/Funafuti',
      'Asia/Taipei',
      'Europe/Kiev',
      'Europe/Uzhgorod',
      'Europe/Zaporozhye',
      'Pacific/Wake',
      'America/New_York',
      'America/Detroit',
      'America/Kentucky/Louisville',
      'America/Kentucky/Monticello',
      'America/Indiana/Indianapolis',
      'America/Indiana/Vincennes',
      'America/Indiana/Winamac',
      'America/Indiana/Marengo',
      'America/Indiana/Petersburg',
      'America/Indiana/Vevay',
      'America/Chicago',
      'America/Indiana/Tell_City',
      'America/Indiana/Knox',
      'America/Menominee',
      'America/North_Dakota/Center',
      'America/North_Dakota/New_Salem',
      'America/North_Dakota/Beulah',
      'America/Denver',
      'America/Boise',
      'America/Phoenix',
      'America/Los_Angeles',
      'America/Anchorage',
      'America/Juneau',
      'America/Sitka',
      'America/Metlakatla',
      'America/Yakutat',
      'America/Nome',
      'America/Adak',
      'Pacific/Honolulu',
      'America/Montevideo',
      'Asia/Samarkand',
      'Asia/Tashkent',
      'America/Caracas',
      'Asia/Ho_Chi_Minh',
      'Pacific/Efate',
      'Pacific/Wallis',
      'Pacific/Apia',
      'Africa/Johannesburg'];

let ary2 = Intl.supportedValuesOf('timeZone');

let s1 = new Set(ary1);
let s2 = new Set(ary2);

let aryNotInSupportedValuesOf = ary1.filter((timeZone)=>
{
  if (!s2.has(timeZone))
  {
    return timeZone;
  }
});

let aryNotInCustomArray = ary2.filter((timeZone)=>
{
  if (!s1.has(timeZone))
  {
    return timeZone;
  }
});

if (aryNotInSupportedValuesOf.length > 0)
{
  console.log (`These values, that are included in the custom array, are not included in Intl.supportedValuesOf('timeZone'):` ,aryNotInSupportedValuesOf);
}
else
{
  console.log(`All values in the custom Array are included in Intl.supportedValuesOf('timeZone')`);
}

if (aryNotInCustomArray.length > 0)
{
  console.log (`These values, provided by Intl.supportedValuesOf('timeZone'), are not included in the custom array:`,aryNotInCustomArray);
}
else
{
  console.log(`All values in Intl.supportedValuesOf('timeZone') are inclued in the custom array.`);
}

Running the comparison above produces different results in each environment/browser I try. The latest Firefox reveals that numerous time zones have been added to the spec since I originally created that static list. However, other environments (I try) are still missing official time zones that were indeed included in that old list.

As of Jul 5th 2022, despite what's reflected on on caniuse or MDN, I see Intl.supportedValuesOf('timeZone') working in the latest:

  • Chromium
  • Firefox
  • Node (v.18.4.0)

If Intl.supportedValuesOf('timeZone') isn't working in the snippets above, for a browser you're targeting, feel free to include a URL to that issue's bug-tracker in the comments below.

Sign up to request clarification or add additional context in comments.

7 Comments

This is fantastic, thank you! So will this always contain a value that matches Intl.DateTimeFormat().resolvedOptions().timeZone ?
@williamsandonz There will eventually be new timezones that are not included in this static list. I wish the spec provided a way to reflectively generate an array of all timezones known by the javascript environment; this way, you could at least stay as current as your environment is, and depend on the very thing you've asked.
@williamsandonz : It looks like the spec is in the process of evolving to offer Intl.supportedValuesOf(key), which will give us the reflective environmental capabilities I wished for above. The proposal is stage 3 currently.
a more detailed JSON is available at github.com/dmfilipenko/timezones.json/blob/master/… (npm i timezones.json)
The new Intl.supportedValuesOf supported on Node 18.4.0 (which was released on Jun 16th 2022) despite of what's written on MDN as of Jul 5th 2022 in the platforms-support table: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
|
62

The API in Vanilla JavaScript for retrieving a list of all supported timezones:

Intl.supportedValuesOf('timeZone')

Browser/Platform Support:

  • Chrome 99 (v8 9.9)
  • Firefox 93
  • Safari 15.4
  • Edge 99
  • Node.js 18.0.0 (v8 10.1)
  • Official polyfill for other platforms which support the Intl API

To try it in Stack Overflow:

let select = document.querySelector('select');
if (!Intl.supportedValuesOf) {
  let opt = new Option('Your browser does not support Intl.supportedValuesOf().', null, true, true);
  opt.disabled = true;
  select.options.add(opt);
} else {
  for (const timeZone of Intl.supportedValuesOf('timeZone')) {
    select.options.add(new Option(timeZone));
  }
}
<select style="min-width: 20ch">


Side note: Above API only returnes IANA time zones (e.g. Continent/City_Name), not built in time zones, like "UTC" or "GMT". Check code snipped below for a list from Chrome/Firefox; other browsers/environments may have more built-in time zones.

const builtInTimeZones = [
  'CET',
  'CST6CDT',
  'Cuba',
  'EET',
  'EST',
  'EST5EDT',
  'Egypt',
  'Eire',
  'GB',
  'GB-Eire',
  'GMT',
  'GMT+0',
  'GMT-0',
  'GMT0',
  'Greenwich',
  'HST',
  'Hongkong',
  'Iceland',
  'Iran',
  'Israel',
  'Jamaica',
  'Japan',
  'Kwajalein',
  'Libya',
  'MET',
  'MST',
  'MST7MDT',
  'NZ',
  'NZ-CHAT',
  'Navajo',
  'PRC',
  'PST8PDT',
  'Poland',
  'Portugal',
  'ROC',
  'ROK',
  'Singapore',
  'Turkey',
  'UCT',
  'UTC',
  'Universal',
  'W-SU',
  'WET',
  'Zulu',
];
const supportedTimeZones = Intl.supportedValuesOf('timeZone');

const tbody = document.querySelector('tbody');
for (const timeZone of builtInTimeZones) {
  const formatted = new Date().toLocaleString(undefined, { timeZone });
  tbody.insertAdjacentHTML('beforeend', `
    <tr>
      <td>${timeZone}</td>
      <td>${formatted}</td>
      <td><code>${supportedTimeZones.includes(timeZone)}</code></td>
    </tr>
  `);
}
thead {
  position: sticky;
  top: 0px;
}
tr {
  background: #fcfcfc;
  color: #000;
}
tr:nth-child(2n + 1) {
  background: #f6f6f6;
}
td {
  padding: 0.25rem;
}
<table>
  <thead>
    <tr>
      <th>Time zone name</th>
      <th>Now in time zone</th>
      <th>Reported by <code>supportedValuesOf?</code></th>
    </tr>
  </thead>
  <tbody></tbody>
</table>

6 Comments

How this isn't most upvoted I do not know. Great answer.
@MichaelFlores maybe because this is not supported in major browsers?
@PaulK. I took Leon at his word that there was major browser support. However it does seem you're correct in implying that there is 2 of 4 major browsers which do not support it. developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
@MichaelFlores that data seems to be outdated; related issue for chrome; I tested manually in Chrome, Firefox, Edge, Node.js - hence the browser versions in my answer. Not having any apple device, i can only take the Safari version from official sources.
@PaulK. according to the wikipedia page of browser usage (2021-10), 97% of all desktop browsers and 91.5% of all browsers (which includes odd mobile browsers) should have support for the above API.
|
26

I too needed to have a complete time zone list with preformated data like:

{
  name: "America/Los_Angeles",
  alternativeName: "Pacific Time",
  group: ["America/Los_Angeles"],
  countryName: "United States",
  mainCities: ["Los Angeles", "San Diego"],
  rawOffsetInMinutes: -480, // "raw" time zone offset, when there's no DST in place
  rawFormat: "-08:00 Pacific Time - Los Angeles, San Diego",
  currentTimeOffsetInMinutes: -420, // "current" time zone offset, this is why getTimeZones() is a method and not just an object: it can only work at runtime
  currentTimeFormat: "-07:00 Pacific Time - Los Angeles, San Diego",
}

Since I could not find a good list that would also be maintained, I created an npm package for it: https://github.com/vvo/tzdb/. The list of time zones is automatically updated when there are changes (like new time zones).

You can then use https://github.com/moment/luxon if you need to manipulate dates with time zones.

The list of time zones is grouped to reduce the number of time zones. We do grouping only when: same country AND same offsets (DST, non DST).

This basically gives you a time zone list that is very close to the one from Google Calendar.

Good luck!

2 Comments

2022 and this library is still maintained seems to have gotten better and I'll be using it. Great work.
Definitely maintained yes, I created it for my needs and using it for turnshift.app
18

For the future searchers, it's possible to get a list of all timezones using moment-timezone.

import momentTZ from 'moment-timezone';

const defaultTimeZone = momentTZ.tz.guess();
const timeZonesList = momentTZ.tz.names();

7 Comments

FWIW, I just had a look at this, and while it's true that you can get a list of names, that list does not match with Python's pytz library. Perhaps Python is an outlier, but moment-timezone may not be a reliable source if you need to keep zones in sync between client and server. Probably best to get the list from whatever your back end is.
Then you're bringing in all of Moment, and there are valid reasons to consider Moment obsolete.
@AdamLeggett care to explain?
@maxgalbu moment is large and the bulk of it is related to formatting, which is now redundant as it is covered by the built in Intl API (which the OP is using via react-intl). It's a well known shortcoming Intl doesn't have a function for enumerating timezones - he just needs a JSON copy.
Moment has been deprecated, according to its maintianers. momentjs.com/docs/#/-project-status
|
11

I have updated the timezone list in the parent and child.

var rows = [
{
  id: 1,
  continent: 'Asia',
  newRow: [
    {id: 1, country: 'Dubai', tz: 'Asia/Dubai'},
    {id: 2, country: 'Kabul', tz: 'Asia/Kabul'},
    {id: 3, country: 'Yerevan', tz: 'Asia/Yerevan'},
    {id: 4, country: 'Baku', tz: 'Asia/Baku'},
    {id: 5, country: 'Dhaka', tz: 'Asia/Dhaka'},
    {id: 6, country: 'Brunei', tz: 'Asia/Brunei'},
    {id: 7, country: 'Thimphu', tz: 'Asia/Thimphu'},
    {id: 8, country: 'Shanghai', tz: 'Asia/Shanghai'},
    {id: 9, country: 'Urumqi', tz: 'Asia/Urumqi'},
    {id: 10, country: 'Nicosia', tz: 'Asia/Nicosia'},
    {id: 11, country: 'Famagusta', tz: 'Asia/Famagusta'},
    {id: 12, country: 'Tbilisi', tz: 'Asia/Tbilisi'},
    {id: 13, country: 'Hong_Kong', tz: 'Asia/Hong_Kong'},
    {id: 14, country: 'Jakarta', tz: 'Asia/Jakarta'},
    {id: 15, country: 'Pontianak', tz: 'Asia/Pontianak'},
    {id: 16, country: 'Makassar', tz: 'Asia/Makassar'},
    {id: 17, country: 'Jayapura', tz: 'Asia/Jayapura'},
    {id: 18, country: 'Jerusalem', tz: 'Asia/Jerusalem'},
    {id: 19, country: 'Kolkata', tz: 'Asia/Kolkata'},
    {id: 20, country: 'Baghdad', tz: 'Asia/Baghdad'},
    {id: 21, country: 'Tehran', tz: 'Asia/Tehran'},
    {id: 22, country: 'Amman', tz: 'Asia/Amman'},
    {id: 23, country: 'Tokyo', tz: 'Asia/Tokyo'},
    {id: 24, country: 'Bishkek', tz: 'Asia/Bishkek'},
    {id: 25, country: 'Pyongyang', tz: 'Asia/Pyongyang'},
    {id: 26, country: 'Seoul', tz: 'Asia/Seoul'},
    {id: 27, country: 'Almaty', tz: 'Asia/Almaty'},
    {id: 28, country: 'Qyzylorda', tz: 'Asia/Qyzylorda'},
    {id: 29, country: 'Qostanay', tz: 'Asia/Qostanay'},
    {id: 30, country: 'Aqtobe', tz: 'Asia/Aqtobe'},
    {id: 31, country: 'Aqtau', tz: 'Asia/Aqtau'},
    {id: 32, country: 'Atyrau', tz: 'Asia/Atyrau'},
    {id: 33, country: 'Oral', tz: 'Asia/Oral'},
    {id: 34, country: 'Beirut', tz: 'Asia/Beirut'},
    {id: 35, country: 'Colombo', tz: 'Asia/Colombo'},
    {id: 36, country: 'Yangon', tz: 'Asia/Yangon'},
    {id: 37, country: 'Ulaanbaatar', tz: 'Asia/Ulaanbaatar'},
    {id: 38, country: 'Hovd', tz: 'Asia/Hovd'},
    {id: 39, country: 'Choibalsan', tz: 'Asia/Choibalsan'},
    {id: 40, country: 'Macau', tz: 'Asia/Macau'},
    {id: 41, country: 'Kuala_Lumpur', tz: 'Asia/Kuala_Lumpur'},
    {id: 42, country: 'Kuching', tz: 'Asia/Kuching'},
    {id: 43, country: 'Karachi', tz: 'Asia/Karachi'},
    {id: 44, country: 'Gaza', tz: 'Asia/Gaza'},
    {id: 45, country: 'Hebron', tz: 'Asia/Hebron'},
    {id: 46, country: 'Kathmandu', tz: 'Asia/Kathmandu'},
    {id: 47, country: 'Yekaterinburg', tz: 'Asia/Yekaterinburg'},
    {id: 48, country: 'Qatar', tz: 'Asia/Qatar'},
    {id: 49, country: 'Omsk', tz: 'Asia/Omsk'},
    {id: 50, country: 'Novosibirsk', tz: 'Asia/Novosibirsk'},
    {id: 51, country: 'Barnaul', tz: 'Asia/Barnaul'},
    {id: 52, country: 'Tomsk', tz: 'Asia/Tomsk'},
    {id: 53, country: 'Novokuznetsk', tz: 'Asia/Novokuznetsk'},
    {id: 54, country: 'Krasnoyarsk', tz: 'Asia/Krasnoyarsk'},
    {id: 55, country: 'Irkutsk', tz: 'Asia/Irkutsk'},
    {id: 56, country: 'Chita', tz: 'Asia/Chita'},
    {id: 57, country: 'Yakutsk', tz: 'Asia/Yakutsk'},
    {id: 58, country: 'Khandyga', tz: 'Asia/Khandyga'},
    {id: 59, country: 'Vladivostok', tz: 'Asia/Vladivostok'},
    {id: 60, country: 'Ust-Nera', tz: 'Asia/Ust-Nera'},
    {id: 61, country: 'Singapore', tz: 'Asia/Singapore'},
    {id: 62, country: 'Magadan', tz: 'Asia/Magadan'},
    {id: 63, country: 'Sakhalin', tz: 'Asia/Sakhalin'},
    {id: 64, country: 'Srednekolymsk', tz: 'Asia/Srednekolymsk'},
    {id: 65, country: 'Kamchatka', tz: 'Asia/Kamchatka'},
    {id: 66, country: 'Anadyr', tz: 'Asia/Anadyr'},
    {id: 67, country: 'Bangkok', tz: 'Asia/Bangkok'},
    {id: 68, country: 'Dushanbe', tz: 'Asia/Dushanbe'},
    {id: 69, country: 'Taipei', tz: 'Asia/Taipei'},
    {id: 70, country: 'Dili', tz: 'Asia/Dili'},
    {id: 71, country: 'Ashgabat', tz: 'Asia/Ashgabat'},
    {id: 72, country: 'Damascus', tz: 'Asia/Damascus'},
    {id: 73, country: 'Riyadh', tz: 'Asia/Riyadh'},
    {id: 74, country: 'Samarkand', tz: 'Asia/Samarkand'},
    {id: 75, country: 'Tashkent', tz: 'Asia/Tashkent'},
    {id: 76, country: 'Ho_Chi_Minh', tz: 'Asia/Ho_Chi_Minh'},
  ],
},
{
  id: 2,
  continent: 'Europe',
  newRow: [
    {id: 1, country: 'Andorra', tz: 'Europe/Andorra'},
    {id: 2, country: 'Tirane', tz: 'Europe/Tirane'},
    {id: 3, country: 'Vienna', tz: 'Europe/Vienna'},
    {id: 4, country: 'Brussels', tz: 'Europe/Brussels'},
    {id: 5, country: 'Sofia', tz: 'Europe/Sofia'},
    {id: 6, country: 'Minsk', tz: 'Europe/Minsk'},
    {id: 7, country: 'Zurich', tz: 'Europe/Zurich'},
    {id: 8, country: 'Prague', tz: 'Europe/Prague'},
    {id: 9, country: 'Berlin', tz: 'Europe/Berlin'},
    {id: 10, country: 'Copenhagen', tz: 'Europe/Copenhagen'},
    {id: 11, country: 'Tallinn', tz: 'Europe/Tallinn'},
    {id: 12, country: 'Madrid', tz: 'Europe/Madrid'},
    {id: 13, country: 'Helsinki', tz: 'Europe/Helsinki'},
    {id: 14, country: 'Paris', tz: 'Europe/Paris'},
    {id: 15, country: 'London', tz: 'Europe/London'},
    {id: 16, country: 'Gibraltar', tz: 'Europe/Gibraltar'},
    {id: 17, country: 'Athens', tz: 'Europe/Athens'},
    {id: 18, country: 'Budapest', tz: 'Europe/Budapest'},
    {id: 19, country: 'Dublin', tz: 'Europe/Dublin'},
    {id: 20, country: 'Rome', tz: 'Europe/Rome'},
    {id: 21, country: 'Vilnius', tz: 'Europe/Vilnius'},
    {id: 22, country: 'Luxembourg', tz: 'Europe/Luxembourg'},
    {id: 23, country: 'Riga', tz: 'Europe/Riga'},
    {id: 24, country: 'Monaco', tz: 'Europe/Monaco'},
    {id: 25, country: 'Chisinau', tz: 'Europe/Chisinau'},
    {id: 26, country: 'Malta', tz: 'Europe/Malta'},
    {id: 27, country: 'Amsterdam', tz: 'Europe/Amsterdam'},
    {id: 28, country: 'Oslo', tz: 'Europe/Oslo'},
    {id: 29, country: 'Warsaw', tz: 'Europe/Warsaw'},
    {id: 30, country: 'Warsaw', tz: 'Europe/Warsaw'},
    {id: 31, country: 'Lisbon', tz: 'Europe/Lisbon'},
    {id: 32, country: 'Bucharest', tz: 'Europe/Bucharest'},
    {id: 33, country: 'Belgrade', tz: 'Europe/Belgrade'},
    {id: 34, country: 'Kaliningrad', tz: 'Europe/Kaliningrad'},
    {id: 35, country: 'Moscow', tz: 'Europe/Moscow'},
    {id: 36, country: 'Simferopol', tz: 'Europe/Simferopol'},
    {id: 37, country: 'Kirov', tz: 'Europe/Kirov'},
    {id: 38, country: 'Astrakhan', tz: 'Europe/Astrakhan'},
    {id: 39, country: 'Volgograd', tz: 'Europe/Volgograd'},
    {id: 40, country: 'Saratov', tz: 'Europe/Saratov'},
    {id: 41, country: 'Ulyanovsk', tz: 'Europe/Ulyanovsk'},
    {id: 42, country: 'Samara', tz: 'Europe/Samara'},
    {id: 43, country: 'Stockholm', tz: 'Europe/Stockholm'},
    {id: 44, country: 'Istanbul', tz: 'Europe/Istanbul'},
    {id: 45, country: 'Kiev', tz: 'Europe/Kiev'},
    {id: 46, country: 'Uzhgorod', tz: 'Europe/Uzhgorod'},
    {id: 47, country: 'Zaporozhye', tz: 'Europe/Zaporozhye'},
  ],
},
{
  id: 3,
  continent: 'Antarctica',
  newRow: [
    {id: 1, country: 'Casey', tz: 'Antarctica/Casey'},
    {id: 2, country: 'Davis', tz: 'Antarctica/Davis'},
    {id: 3, country: 'DumontDUrville', tz: 'Antarctica/DumontDUrville'},
    {id: 4, country: 'Mawson', tz: 'Antarctica/Mawson'},
    {id: 5, country: 'Palmer', tz: 'Antarctica/Palmer'},
    {id: 6, country: 'Rothera', tz: 'Antarctica/Rothera'},
    {id: 7, country: 'Syowa', tz: 'Antarctica/Syowa'},
    {id: 8, country: 'Troll', tz: 'Antarctica/Troll'},
    {id: 9, country: 'Vostok', tz: 'Antarctica/Vostok'},
    {id: 10, country: 'Macquarie', tz: 'Antarctica/Macquarie'},
  ],
},
{
  id: 4,
  continent: 'America',
  newRow: [
    {id: 1, country: 'Buenos_Aires', tz: 'America/Argentina/Buenos_Aires'},
    {id: 2, country: 'Cordoba', tz: 'America/Argentina/Cordoba'},
    {id: 3, country: 'Salta', tz: 'America/Argentina/Salta'},
    {id: 4, country: 'Jujuy', tz: 'America/Argentina/Jujuy'},
    {id: 5, country: 'Tucuman', tz: 'America/Argentina/Tucuman'},
    {id: 6, country: 'Catamarca', tz: 'America/Argentina/Catamarca'},
    {id: 7, country: 'La_Rioja', tz: 'America/Argentina/La_Rioja'},
    {id: 8, country: 'San_Juan', tz: 'America/Argentina/San_Juan'},
    {id: 9, country: 'Mendoza', tz: 'America/Argentina/Mendoza'},
    {id: 10, country: 'San_Luis', tz: 'America/Argentina/San_Luis'},
    {id: 11, country: 'Rio_Gallegos', tz: 'America/Argentina/Rio_Gallegos'},
    {id: 12, country: 'Ushuaia', tz: 'America/Argentina/Ushuaia'},
    {id: 13, country: 'Barbados', tz: 'America/Barbados'},
    {id: 14, country: 'La_Paz', tz: 'America/La_Paz'},
    {id: 15, country: 'Belem', tz: 'America/Belem'},
    {id: 16, country: 'Fortaleza', tz: 'America/Fortaleza'},
    {id: 17, country: 'Recife', tz: 'America/Recife'},
    {id: 18, country: 'Araguaina', tz: 'America/Araguaina'},
    {id: 19, country: 'Maceio', tz: 'America/Maceio'},
    {id: 20, country: 'Bahia', tz: 'America/Bahia'},
    {id: 21, country: 'Sao_Paulo', tz: 'America/Sao_Paulo'},
    {id: 22, country: 'Campo_Grande', tz: 'America/Campo_Grande'},
    {id: 23, country: 'Cuiaba', tz: 'America/Cuiaba'},
    {id: 24, country: 'Porto_Velho', tz: 'America/Porto_Velho'},
    {id: 25, country: 'Boa_Vista', tz: 'America/Boa_Vista'},
    {id: 26, country: 'Manaus', tz: 'America/Manaus'},
    {id: 27, country: 'Eirunepe', tz: 'America/Eirunepe'},
    {id: 28, country: 'Rio_Branco', tz: 'America/Rio_Branco'},
    {id: 29, country: 'Nassau', tz: 'America/Nassau'},
    {id: 30, country: 'Belize', tz: 'America/Belize'},
    {id: 31, country: 'St_Johns', tz: 'America/St_Johns'},
    {id: 32, country: 'Halifax', tz: 'America/Halifax'},
    {id: 33, country: 'Glace_Bay', tz: 'America/Glace_Bay'},
    {id: 34, country: 'Moncton', tz: 'America/Moncton'},
    {id: 35, country: 'Goose_Bay', tz: 'America/Goose_Bay'},
    {id: 36, country: 'Blanc-Sablon', tz: 'America/Blanc-Sablon'},
    {id: 37, country: 'Toronto', tz: 'America/Toronto'},
    {id: 38, country: 'Nipigon', tz: 'America/Nipigon'},
    {id: 39, country: 'Thunder_Bay', tz: 'America/Thunder_Bay'},
    {id: 40, country: 'Iqaluit', tz: 'America/Iqaluit'},
    {id: 41, country: 'Pangnirtung', tz: 'America/Pangnirtung'},
    {id: 42, country: 'Atikokan', tz: 'America/Atikokan'},
    {id: 43, country: 'Winnipeg', tz: 'America/Winnipeg'},
    {id: 44, country: 'Rainy_River', tz: 'America/Rainy_River'},
    {id: 45, country: 'Resolute', tz: 'America/Resolute'},
    {id: 46, country: 'Rankin_Inlet', tz: 'America/Rankin_Inlet'},
    {id: 47, country: 'Regina', tz: 'America/Regina'},
    {id: 48, country: 'Swift_Current', tz: 'America/Swift_Current'},
    {id: 49, country: 'Edmonton', tz: 'America/Edmonton'},
    {id: 50, country: 'Cambridge_Bay', tz: 'America/Cambridge_Bay'},
    {id: 51, country: 'Yellowknife', tz: 'America/Yellowknife'},
    {id: 52, country: 'Inuvik', tz: 'America/Inuvik'},
    {id: 53, country: 'Creston', tz: 'America/Creston'},
    {id: 54, country: 'Dawson_Creek', tz: 'America/Dawson_Creek'},
    {id: 55, country: 'Fort_Nelson', tz: 'America/Fort_Nelson'},
    {id: 56, country: 'Vancouver', tz: 'America/Vancouver'},
    {id: 57, country: 'Whitehorse', tz: 'America/Whitehorse'},
    {id: 58, country: 'Dawson', tz: 'America/Dawson'},
    {id: 59, country: 'Santiago', tz: 'America/Santiago'},
    {id: 60, country: 'Punta_Arenas', tz: 'America/Punta_Arenas'},
    {id: 61, country: 'Bogota', tz: 'America/Bogota'},
    {id: 62, country: 'Costa_Rica', tz: 'America/Costa_Rica'},
    {id: 63, country: 'Havana', tz: 'America/Havana'},
    {id: 64, country: 'Curacao', tz: 'America/Curacao'},
    {id: 65, country: 'Santo_Domingo', tz: 'America/Santo_Domingo'},
    {id: 66, country: 'Guayaquil', tz: 'America/Guayaquil'},
    {id: 67, country: 'Cayenne', tz: 'America/Cayenne'},
    {id: 68, country: 'Godthab', tz: 'America/Godthab'},
    {id: 69, country: 'Danmarkshavn', tz: 'America/Danmarkshavn'},
    {id: 70, country: 'Scoresbysund', tz: 'America/Scoresbysund'},
    {id: 71, country: 'Cayenne', tz: 'America/Cayenne'},
    {id: 72, country: 'Godthab', tz: 'America/Godthab'},
    {id: 73, country: 'Danmarkshavn', tz: 'America/Danmarkshavn'},
    {id: 74, country: 'Scoresbysund', tz: 'America/Scoresbysund'},
    {id: 75, country: 'Thule', tz: 'America/Thule'},
    {id: 76, country: 'Guatemala', tz: 'America/Guatemala'},
    {id: 77, country: 'Guyana', tz: 'America/Guyana'},
    {id: 78, country: 'Tegucigalpa', tz: 'America/Tegucigalpa'},
    {id: 79, country: 'Port-au-Prince', tz: 'America/Port-au-Prince'},
    {id: 80, country: 'Jamaica', tz: 'America/Jamaica'},
    {id: 81, country: 'Martinique', tz: 'America/Martinique'},
    {id: 82, country: 'Mexico_City', tz: 'America/Mexico_City'},
    {id: 83, country: 'Cancun', tz: 'America/Cancun'},
    {id: 84, country: 'Merida', tz: 'America/Merida'},
    {id: 85, country: 'Monterrey', tz: 'America/Monterrey'},
    {id: 86, country: 'Matamoros', tz: 'America/Matamoros'},
    {id: 87, country: 'Caracas', tz: 'America/Caracas'},
    {id: 88, country: 'Mazatlan', tz: 'America/Mazatlan'},
    {id: 89, country: 'Chihuahua', tz: 'America/Chihuahua'},
    {id: 90, country: 'Ojinaga', tz: 'America/Ojinaga'},
    {id: 91, country: 'Hermosillo', tz: 'America/Hermosillo'},
    {id: 92, country: 'Tijuana', tz: 'America/Tijuana'},
    {id: 93, country: 'Bahia_Banderas', tz: 'America/Bahia_Banderas'},
    {id: 94, country: 'Managua', tz: 'America/Managua'},
    {id: 95, country: 'Panama', tz: 'America/Panama'},
    {id: 96, country: 'Lima', tz: 'America/Lima'},
    {id: 97, country: 'Miquelon', tz: 'America/Miquelon'},
    {id: 98, country: 'Puerto_Rico', tz: 'America/Puerto_Rico'},
    {id: 99, country: 'El_Salvador', tz: 'America/El_Salvador'},
    {id: 100, country: 'Grand_Turk', tz: 'America/Grand_Turk'},
    {id: 101, country: 'Paramaribo', tz: 'America/Paramaribo'},
    {id: 102, country: 'Asuncion', tz: 'America/Asuncion'},
    {id: 103, country: 'Port_of_Spain', tz: 'America/Port_of_Spain'},
    {id: 104, country: 'New_York', tz: 'America/New_York'},
    {id: 105, country: 'Detroit', tz: 'America/Detroit'},
    {id: 106, country: 'Louisville', tz: 'America/Kentucky/Louisville'},
    {id: 107, country: 'Monticello', tz: 'America/Kentucky/Monticello'},
    {id: 108, country: 'Indianapolis', tz: 'America/Indiana/Indianapolis'},
    {id: 109, country: 'Vincennes', tz: 'America/Indiana/Vincennes'},
    {id: 110, country: 'Winamac', tz: 'America/Indiana/Winamac'},
    {id: 111, country: 'Marengo', tz: 'America/Indiana/Marengo'},
    {id: 112, country: 'Petersburg', tz: 'America/Indiana/Petersburg'},
    {id: 113, country: 'Vevay', tz: 'America/Indiana/Vevay'},
    {id: 114, country: 'Tell_City', tz: 'America/Indiana/Tell_City'},
    {id: 115, country: 'Knox', tz: 'America/Indiana/Knox'},
    {id: 116, country: 'Chicago', tz: 'America/Chicago'},
    {id: 117, country: 'Menominee', tz: 'America/Menominee'},
    {id: 118, country: 'Denver', tz: 'America/Denver'},
    {id: 119, country: 'Boise', tz: 'America/Boise'},
    {id: 120, country: 'Phoenix', tz: 'America/Phoenix'},
    {id: 121, country: 'Center', tz: 'America/North_Dakota/Center'},
    {id: 122, country: 'New_Salem', tz: 'America/North_Dakota/New_Salem'},
    {id: 123, country: 'Beulah', tz: 'America/North_Dakota/Beulah'},
    {id: 124, country: 'Los_Angeles', tz: 'America/Los_Angeles'},
    {id: 125, country: 'Anchorage', tz: 'America/Anchorage'},
    {id: 126, country: 'Juneau', tz: 'America/Juneau'},
    {id: 127, country: 'Sitka', tz: 'America/Sitka'},
    {id: 128, country: 'Metlakatla', tz: 'America/Metlakatla'},
    {id: 129, country: 'Yakutat', tz: 'America/Yakutat'},
    {id: 130, country: 'Nome', tz: 'America/Nome'},
    {id: 131, country: 'Adak', tz: 'America/Adak'},
    {id: 132, country: 'Montevideo', tz: 'America/Montevideo'},
  ],
},
{
  id: 5,
  continent: 'Pacific',
  newRow: [
    {id: 1, country: 'Pago_Pago', tz: 'Pacific/Pago_Pago'},
    {id: 2, country: 'Rarotonga', tz: 'Pacific/Rarotonga'},
    {id: 3, country: 'Easter', tz: 'Pacific/Easter'},
    {id: 4, country: 'Galapagos', tz: 'Pacific/Galapagos'},
    {id: 5, country: 'Fiji', tz: 'Pacific/Fiji'},
    {id: 6, country: 'Chuuk', tz: 'Pacific/Chuuk'},
    {id: 7, country: 'Pohnpei', tz: 'Pacific/Pohnpei'},
    {id: 8, country: 'Kosrae', tz: 'Pacific/Kosrae'},
    {id: 9, country: 'Guam', tz: 'Pacific/Guam'},
    {id: 10, country: 'Majuro', tz: 'Pacific/Majuro'},
    {id: 11, country: 'Kwajalein', tz: 'Pacific/Kwajalein'},
    {id: 12, country: 'Tarawa', tz: 'Pacific/Tarawa'},
    {id: 13, country: 'Enderbury', tz: 'Pacific/Enderbury'},
    {id: 14, country: 'Kiritimati', tz: 'Pacific/Kiritimati'},
    {id: 15, country: 'Noumea', tz: 'Pacific/Noumea'},
    {id: 16, country: 'Norfolk', tz: 'Pacific/Norfolk'},
    {id: 17, country: 'Nauru', tz: 'Pacific/Nauru'},
    {id: 18, country: 'Niue', tz: 'Pacific/Niue'},
    {id: 19, country: 'Auckland', tz: 'Pacific/Auckland'},
    {id: 20, country: 'Chatham', tz: 'Pacific/Chatham'},
    {id: 21, country: 'Tahiti', tz: 'Pacific/Tahiti'},
    {id: 22, country: 'Marquesas', tz: 'Pacific/Marquesas'},
    {id: 23, country: 'Gambier', tz: 'Pacific/Gambier'},
    {id: 24, country: 'Port_Moresby', tz: 'Pacific/Port_Moresby'},
    {id: 25, country: 'Bougainville', tz: 'Pacific/Bougainville'},
    {id: 26, country: 'Pitcairn', tz: 'Pacific/Pitcairn'},
    {id: 27, country: 'Palau', tz: 'Pacific/Palau'},
    {id: 28, country: 'Guadalcanal', tz: 'Pacific/Guadalcanal'},
    {id: 29, country: 'Fakaofo', tz: 'Pacific/Fakaofo'},
    {id: 30, country: 'Tongatapu', tz: 'Pacific/Tongatapu'},
    {id: 31, country: 'Funafuti', tz: 'Pacific/Funafuti'},
    {id: 32, country: 'Wake', tz: 'Pacific/Wake'},
    {id: 33, country: 'Honolulu', tz: 'Pacific/Honolulu'},
    {id: 34, country: 'Efate', tz: 'Pacific/Efate'},
    {id: 35, country: 'Wallis', tz: 'Pacific/Wallis'},
    {id: 36, country: 'Apia', tz: 'Pacific/Apia'},
  ],
},
{
  id: 6,
  continent: 'Australia',
  newRow: [
    {id: 1, country: 'Lord_Howe', tz: 'Australia/Lord_Howe'},
    {id: 2, country: 'Hobart', tz: 'Australia/Hobart'},
    {id: 3, country: 'Currie', tz: 'Australia/Currie'},
    {id: 4, country: 'Melbourne', tz: 'Australia/Melbourne'},
    {id: 5, country: 'Sydney', tz: 'Australia/Sydney'},
    {id: 6, country: 'Broken_Hill', tz: 'Australia/Broken_Hill'},
    {id: 7, country: 'Brisbane', tz: 'Australia/Brisbane'},
    {id: 8, country: 'Lindeman', tz: 'Australia/Lindeman'},
    {id: 9, country: 'Adelaide', tz: 'Australia/Adelaide'},
    {id: 10, country: 'Darwin', tz: 'Australia/Darwin'},
    {id: 11, country: 'Perth', tz: 'Australia/Perth'},
    {id: 12, country: 'Eucla', tz: 'Australia/Eucla'},
  ],
},
{
  id: 7,
  continent: 'Africa',
  newRow: [
    {id: 1, country: 'Abidjan', tz: 'Africa/Abidjan'},
    {id: 2, country: 'Algiers', tz: 'Africa/Algiers'},
    {id: 3, country: 'Cairo', tz: 'Africa/Cairo'},
    {id: 4, country: 'El_Aaiun', tz: 'Africa/El_Aaiun'},
    {id: 5, country: 'Ceuta', tz: 'Africa/Ceuta'},
    {id: 6, country: 'Accra', tz: 'Africa/Accra'},
    {id: 7, country: 'Bissau', tz: 'Africa/Bissau'},
    {id: 8, country: 'Nairobi', tz: 'Africa/Nairobi'},
    {id: 9, country: 'Monrovia', tz: 'Africa/Monrovia'},
    {id: 10, country: 'Tripoli', tz: 'Africa/Tripoli'},
    {id: 11, country: 'Casablanca', tz: 'Africa/Casablanca'},
    {id: 12, country: 'Maputo', tz: 'Africa/Maputo'},
    {id: 13, country: 'Windhoek', tz: 'Africa/Windhoek'},
    {id: 14, country: 'Lagos', tz: 'Africa/Lagos'},
    {id: 15, country: 'Khartoum', tz: 'Africa/Khartoum'},
    {id: 16, country: 'Juba', tz: 'Africa/Juba'},
    {id: 17, country: 'Sao_Tome', tz: 'Africa/Sao_Tome'},
    {id: 18, country: 'Ndjamena', tz: 'Africa/Ndjamena'},
    {id: 19, country: 'Tunis', tz: 'Africa/Tunis'},
    {id: 20, country: 'Johannesburg', tz: 'Africa/Johannesburg'},
  ],
},
{
  id: 8,
  continent: 'Atlantic',
  newRow: [
    {id: 1, country: 'Azores', tz: 'Atlantic/Azores'},
    {id: 2, country: 'Bermuda', tz: 'Atlantic/Bermuda'},
    {id: 3, country: 'Madeira', tz: 'Atlantic/Madeira'},
  ],
},
{
  id: 9,
  continent: 'Atlantic',
  newRow: [
    {id: 1, country: 'Cape_Verde', tz: 'Atlantic/Cape_Verde'},
    {id: 2, country: 'Canary', tz: 'Atlantic/Canary'},
    {id: 3, country: 'Stanley', tz: 'Atlantic/Stanley'},
    {id: 4, country: 'Faroe', tz: 'Atlantic/Faroe'},
    {id: 5, country: 'South_Georgia', tz: 'Atlantic/South_Georgia'},
    {id: 6, country: 'Reykjavik', tz: 'Atlantic/Reykjavik'},
  ],
},
{
  id: 10,
  continent: 'Indian',
  newRow: [
    {id: 1, country: 'Cocos', tz: 'Indian/Cocos'},
    {id: 2, country: 'Christmas', tz: 'Indian/Christmas'},
    {id: 3, country: 'Chagos', tz: 'Indian/Chagos'},
    {id: 4, country: 'Mauritius', tz: 'Indian/Mauritius'},
    {id: 5, country: 'Maldives', tz: 'Indian/Maldives'},
    {id: 6, country: 'Mahe', tz: 'Indian/Mahe'},
    {id: 7, country: 'Reunion', tz: 'Indian/Reunion'},
    {id: 8, country: 'Kerguelen', tz: 'Indian/Kerguelen'},
  ],
},

];

1 Comment

those aren't countries, they're cities
9

The marked answer doesn't seem to work for the Pacific/Honolulu timezone.

I've made another function that worked for that:

function getTimezoneOffset(timeZone) {
  const now = new Date();
  const tzString = now.toLocaleString('en-US', { timeZone });
  const localString = now.toLocaleString('en-US');
  const diff = (Date.parse(localString) - Date.parse(tzString)) / 3600000;
  const offset = diff + now.getTimezoneOffset() / 60;
  
  return -offset;
}

Usage example:

const offset = getTimezoneOffset('Pacific/Honolulu');

console.log(offset); // output: -10

2 Comments

Exactly I was looking for this.. to calculate time difference on remote location.
Weird, when I used a different locale, eg. 'en-GB' or any other, some of the results are wrong. You can see here in this JSFiddle. jsfiddle.net/a9b4e5f0/2 - 'en-US' works jsfiddle.net/a9b4e5f0/3 - 'en-GB' errors
6

The react-intl library's time zone functionality is provided exclusively by the ECMAScript Internationalization API features that are integrated into the browser.

While IANA time zone support is part of this spec, it currently only covers two scenarios:

  • Formating a Date object to a string, converting to a specific time zone in the process.

  • Determining the user's local time zone identifier.

Unfortunately, there is no function defined by the spec for enumerating the list of available time zones.

Additionally, note that support for the two functions it does have is currently limited to a handful of browsers. It will likely be quite some time before these capabilities can be depended upon. The ECMAScript Compatibility Table shows which browsers are supported. Under DateTimeFormat you'll find "resolvedOptions().timeZone defaults to the host environment" and "accepts IANA timezone names" that track these features.

1 Comment

Thanks for the answer :), so, what would you recommend me to do as best approach to achieve my target? create the list myself?
6

Just for timezone list, adding a big package like moment is not recommended. Adding moment package will increase your application size and will slow down your application performance. Here is the latest timezones array

[
    "Africa/Abidjan",
    "Africa/Accra",
    "Africa/Addis_Ababa",
    "Africa/Algiers",
    "Africa/Asmara",
    "Africa/Asmera",
    "Africa/Bamako",
    "Africa/Bangui",
    "Africa/Banjul",
    "Africa/Bissau",
    "Africa/Blantyre",
    "Africa/Brazzaville",
    "Africa/Bujumbura",
    "Africa/Cairo",
    "Africa/Casablanca",
    "Africa/Ceuta",
    "Africa/Conakry",
    "Africa/Dakar",
    "Africa/Dar_es_Salaam",
    "Africa/Djibouti",
    "Africa/Douala",
    "Africa/El_Aaiun",
    "Africa/Freetown",
    "Africa/Gaborone",
    "Africa/Harare",
    "Africa/Johannesburg",
    "Africa/Juba",
    "Africa/Kampala",
    "Africa/Khartoum",
    "Africa/Kigali",
    "Africa/Kinshasa",
    "Africa/Lagos",
    "Africa/Libreville",
    "Africa/Lome",
    "Africa/Luanda",
    "Africa/Lubumbashi",
    "Africa/Lusaka",
    "Africa/Malabo",
    "Africa/Maputo",
    "Africa/Maseru",
    "Africa/Mbabane",
    "Africa/Mogadishu",
    "Africa/Monrovia",
    "Africa/Nairobi",
    "Africa/Ndjamena",
    "Africa/Niamey",
    "Africa/Nouakchott",
    "Africa/Ouagadougou",
    "Africa/Porto-Novo",
    "Africa/Sao_Tome",
    "Africa/Timbuktu",
    "Africa/Tripoli",
    "Africa/Tunis",
    "Africa/Windhoek",
    "America/Adak",
    "America/Anchorage",
    "America/Anguilla",
    "America/Antigua",
    "America/Araguaina",
    "America/Argentina/Buenos_Aires",
    "America/Argentina/Catamarca",
    "America/Argentina/ComodRivadavia",
    "America/Argentina/Cordoba",
    "America/Argentina/Jujuy",
    "America/Argentina/La_Rioja",
    "America/Argentina/Mendoza",
    "America/Argentina/Rio_Gallegos",
    "America/Argentina/Salta",
    "America/Argentina/San_Juan",
    "America/Argentina/San_Luis",
    "America/Argentina/Tucuman",
    "America/Argentina/Ushuaia",
    "America/Aruba",
    "America/Asuncion",
    "America/Atikokan",
    "America/Atka",
    "America/Bahia",
    "America/Bahia_Banderas",
    "America/Barbados",
    "America/Belem",
    "America/Belize",
    "America/Blanc-Sablon",
    "America/Boa_Vista",
    "America/Bogota",
    "America/Boise",
    "America/Buenos_Aires",
    "America/Cambridge_Bay",
    "America/Campo_Grande",
    "America/Cancun",
    "America/Caracas",
    "America/Catamarca",
    "America/Cayenne",
    "America/Cayman",
    "America/Chicago",
    "America/Chihuahua",
    "America/Coral_Harbour",
    "America/Cordoba",
    "America/Costa_Rica",
    "America/Creston",
    "America/Cuiaba",
    "America/Curacao",
    "America/Danmarkshavn",
    "America/Dawson",
    "America/Dawson_Creek",
    "America/Denver",
    "America/Detroit",
    "America/Dominica",
    "America/Edmonton",
    "America/Eirunepe",
    "America/El_Salvador",
    "America/Ensenada",
    "America/Fort_Nelson",
    "America/Fort_Wayne",
    "America/Fortaleza",
    "America/Glace_Bay",
    "America/Godthab",
    "America/Goose_Bay",
    "America/Grand_Turk",
    "America/Grenada",
    "America/Guadeloupe",
    "America/Guatemala",
    "America/Guayaquil",
    "America/Guyana",
    "America/Halifax",
    "America/Havana",
    "America/Hermosillo",
    "America/Indiana/Indianapolis",
    "America/Indiana/Knox",
    "America/Indiana/Marengo",
    "America/Indiana/Petersburg",
    "America/Indiana/Tell_City",
    "America/Indiana/Vevay",
    "America/Indiana/Vincennes",
    "America/Indiana/Winamac",
    "America/Indianapolis",
    "America/Inuvik",
    "America/Iqaluit",
    "America/Jamaica",
    "America/Jujuy",
    "America/Juneau",
    "America/Kentucky/Louisville",
    "America/Kentucky/Monticello",
    "America/Knox_IN",
    "America/Kralendijk",
    "America/La_Paz",
    "America/Lima",
    "America/Los_Angeles",
    "America/Louisville",
    "America/Lower_Princes",
    "America/Maceio",
    "America/Managua",
    "America/Manaus",
    "America/Marigot",
    "America/Martinique",
    "America/Matamoros",
    "America/Mazatlan",
    "America/Mendoza",
    "America/Menominee",
    "America/Merida",
    "America/Metlakatla",
    "America/Mexico_City",
    "America/Miquelon",
    "America/Moncton",
    "America/Monterrey",
    "America/Montevideo",
    "America/Montreal",
    "America/Montserrat",
    "America/Nassau",
    "America/New_York",
    "America/Nipigon",
    "America/Nome",
    "America/Noronha",
    "America/North_Dakota/Beulah",
    "America/North_Dakota/Center",
    "America/North_Dakota/New_Salem",
    "America/Nuuk",
    "America/Ojinaga",
    "America/Panama",
    "America/Pangnirtung",
    "America/Paramaribo",
    "America/Phoenix",
    "America/Port-au-Prince",
    "America/Port_of_Spain",
    "America/Porto_Acre",
    "America/Porto_Velho",
    "America/Puerto_Rico",
    "America/Punta_Arenas",
    "America/Rainy_River",
    "America/Rankin_Inlet",
    "America/Recife",
    "America/Regina",
    "America/Resolute",
    "America/Rio_Branco",
    "America/Rosario",
    "America/Santa_Isabel",
    "America/Santarem",
    "America/Santiago",
    "America/Santo_Domingo",
    "America/Sao_Paulo",
    "America/Scoresbysund",
    "America/Shiprock",
    "America/Sitka",
    "America/St_Barthelemy",
    "America/St_Johns",
    "America/St_Kitts",
    "America/St_Lucia",
    "America/St_Thomas",
    "America/St_Vincent",
    "America/Swift_Current",
    "America/Tegucigalpa",
    "America/Thule",
    "America/Thunder_Bay",
    "America/Tijuana",
    "America/Toronto",
    "America/Tortola",
    "America/Vancouver",
    "America/Virgin",
    "America/Whitehorse",
    "America/Winnipeg",
    "America/Yakutat",
    "America/Yellowknife",
    "Antarctica/Casey",
    "Antarctica/Davis",
    "Antarctica/DumontDUrville",
    "Antarctica/Macquarie",
    "Antarctica/Mawson",
    "Antarctica/McMurdo",
    "Antarctica/Palmer",
    "Antarctica/Rothera",
    "Antarctica/South_Pole",
    "Antarctica/Syowa",
    "Antarctica/Troll",
    "Antarctica/Vostok",
    "Arctic/Longyearbyen",
    "Asia/Aden",
    "Asia/Almaty",
    "Asia/Amman",
    "Asia/Anadyr",
    "Asia/Aqtau",
    "Asia/Aqtobe",
    "Asia/Ashgabat",
    "Asia/Ashkhabad",
    "Asia/Atyrau",
    "Asia/Baghdad",
    "Asia/Bahrain",
    "Asia/Baku",
    "Asia/Bangkok",
    "Asia/Barnaul",
    "Asia/Beirut",
    "Asia/Bishkek",
    "Asia/Brunei",
    "Asia/Calcutta",
    "Asia/Chita",
    "Asia/Choibalsan",
    "Asia/Chongqing",
    "Asia/Chungking",
    "Asia/Colombo",
    "Asia/Dacca",
    "Asia/Damascus",
    "Asia/Dhaka",
    "Asia/Dili",
    "Asia/Dubai",
    "Asia/Dushanbe",
    "Asia/Famagusta",
    "Asia/Gaza",
    "Asia/Harbin",
    "Asia/Hebron",
    "Asia/Ho_Chi_Minh",
    "Asia/Hong_Kong",
    "Asia/Hovd",
    "Asia/Irkutsk",
    "Asia/Istanbul",
    "Asia/Jakarta",
    "Asia/Jayapura",
    "Asia/Jerusalem",
    "Asia/Kabul",
    "Asia/Kamchatka",
    "Asia/Karachi",
    "Asia/Kashgar",
    "Asia/Kathmandu",
    "Asia/Katmandu",
    "Asia/Khandyga",
    "Asia/Kolkata",
    "Asia/Krasnoyarsk",
    "Asia/Kuala_Lumpur",
    "Asia/Kuching",
    "Asia/Kuwait",
    "Asia/Macao",
    "Asia/Macau",
    "Asia/Magadan",
    "Asia/Makassar",
    "Asia/Manila",
    "Asia/Muscat",
    "Asia/Nicosia",
    "Asia/Novokuznetsk",
    "Asia/Novosibirsk",
    "Asia/Omsk",
    "Asia/Oral",
    "Asia/Phnom_Penh",
    "Asia/Pontianak",
    "Asia/Pyongyang",
    "Asia/Qatar",
    "Asia/Qostanay",
    "Asia/Qyzylorda",
    "Asia/Rangoon",
    "Asia/Riyadh",
    "Asia/Saigon",
    "Asia/Sakhalin",
    "Asia/Samarkand",
    "Asia/Seoul",
    "Asia/Shanghai",
    "Asia/Singapore",
    "Asia/Srednekolymsk",
    "Asia/Taipei",
    "Asia/Tashkent",
    "Asia/Tbilisi",
    "Asia/Tehran",
    "Asia/Tel_Aviv",
    "Asia/Thimbu",
    "Asia/Thimphu",
    "Asia/Tokyo",
    "Asia/Tomsk",
    "Asia/Ujung_Pandang",
    "Asia/Ulaanbaatar",
    "Asia/Ulan_Bator",
    "Asia/Urumqi",
    "Asia/Ust-Nera",
    "Asia/Vientiane",
    "Asia/Vladivostok",
    "Asia/Yakutsk",
    "Asia/Yangon",
    "Asia/Yekaterinburg",
    "Asia/Yerevan",
    "Atlantic/Azores",
    "Atlantic/Bermuda",
    "Atlantic/Canary",
    "Atlantic/Cape_Verde",
    "Atlantic/Faeroe",
    "Atlantic/Faroe",
    "Atlantic/Jan_Mayen",
    "Atlantic/Madeira",
    "Atlantic/Reykjavik",
    "Atlantic/South_Georgia",
    "Atlantic/St_Helena",
    "Atlantic/Stanley",
    "Australia/ACT",
    "Australia/Adelaide",
    "Australia/Brisbane",
    "Australia/Broken_Hill",
    "Australia/Canberra",
    "Australia/Currie",
    "Australia/Darwin",
    "Australia/Eucla",
    "Australia/Hobart",
    "Australia/LHI",
    "Australia/Lindeman",
    "Australia/Lord_Howe",
    "Australia/Melbourne",
    "Australia/NSW",
    "Australia/North",
    "Australia/Perth",
    "Australia/Queensland",
    "Australia/South",
    "Australia/Sydney",
    "Australia/Tasmania",
    "Australia/Victoria",
    "Australia/West",
    "Australia/Yancowinna",
    "Brazil/Acre",
    "Brazil/DeNoronha",
    "Brazil/East",
    "Brazil/West",
    "CET",
    "CST6CDT",
    "Canada/Atlantic",
    "Canada/Central",
    "Canada/Eastern",
    "Canada/Mountain",
    "Canada/Newfoundland",
    "Canada/Pacific",
    "Canada/Saskatchewan",
    "Canada/Yukon",
    "Chile/Continental",
    "Chile/EasterIsland",
    "Cuba",
    "EET",
    "EST",
    "EST5EDT",
    "Egypt",
    "Eire",
    "Etc/GMT",
    "Etc/GMT+0",
    "Etc/GMT+1",
    "Etc/GMT+10",
    "Etc/GMT+11",
    "Etc/GMT+12",
    "Etc/GMT+2",
    "Etc/GMT+3",
    "Etc/GMT+4",
    "Etc/GMT+5",
    "Etc/GMT+6",
    "Etc/GMT+7",
    "Etc/GMT+8",
    "Etc/GMT+9",
    "Etc/GMT-0",
    "Etc/GMT-1",
    "Etc/GMT-10",
    "Etc/GMT-11",
    "Etc/GMT-12",
    "Etc/GMT-13",
    "Etc/GMT-14",
    "Etc/GMT-2",
    "Etc/GMT-3",
    "Etc/GMT-4",
    "Etc/GMT-5",
    "Etc/GMT-6",
    "Etc/GMT-7",
    "Etc/GMT-8",
    "Etc/GMT-9",
    "Etc/GMT0",
    "Etc/Greenwich",
    "Etc/UCT",
    "Etc/UTC",
    "Etc/Universal",
    "Etc/Zulu",
    "Europe/Amsterdam",
    "Europe/Andorra",
    "Europe/Astrakhan",
    "Europe/Athens",
    "Europe/Belfast",
    "Europe/Belgrade",
    "Europe/Berlin",
    "Europe/Bratislava",
    "Europe/Brussels",
    "Europe/Bucharest",
    "Europe/Budapest",
    "Europe/Busingen",
    "Europe/Chisinau",
    "Europe/Copenhagen",
    "Europe/Dublin",
    "Europe/Gibraltar",
    "Europe/Guernsey",
    "Europe/Helsinki",
    "Europe/Isle_of_Man",
    "Europe/Istanbul",
    "Europe/Jersey",
    "Europe/Kaliningrad",
    "Europe/Kiev",
    "Europe/Kirov",
    "Europe/Lisbon",
    "Europe/Ljubljana",
    "Europe/London",
    "Europe/Luxembourg",
    "Europe/Madrid",
    "Europe/Malta",
    "Europe/Mariehamn",
    "Europe/Minsk",
    "Europe/Monaco",
    "Europe/Moscow",
    "Europe/Nicosia",
    "Europe/Oslo",
    "Europe/Paris",
    "Europe/Podgorica",
    "Europe/Prague",
    "Europe/Riga",
    "Europe/Rome",
    "Europe/Samara",
    "Europe/San_Marino",
    "Europe/Sarajevo",
    "Europe/Saratov",
    "Europe/Simferopol",
    "Europe/Skopje",
    "Europe/Sofia",
    "Europe/Stockholm",
    "Europe/Tallinn",
    "Europe/Tirane",
    "Europe/Tiraspol",
    "Europe/Ulyanovsk",
    "Europe/Uzhgorod",
    "Europe/Vaduz",
    "Europe/Vatican",
    "Europe/Vienna",
    "Europe/Vilnius",
    "Europe/Volgograd",
    "Europe/Warsaw",
    "Europe/Zagreb",
    "Europe/Zaporozhye",
    "Europe/Zurich",
    "GB",
    "GB-Eire",
    "GMT",
    "GMT+0",
    "GMT-0",
    "GMT0",
    "Greenwich",
    "HST",
    "Hongkong",
    "Iceland",
    "Indian/Antananarivo",
    "Indian/Chagos",
    "Indian/Christmas",
    "Indian/Cocos",
    "Indian/Comoro",
    "Indian/Kerguelen",
    "Indian/Mahe",
    "Indian/Maldives",
    "Indian/Mauritius",
    "Indian/Mayotte",
    "Indian/Reunion",
    "Iran",
    "Israel",
    "Jamaica",
    "Japan",
    "Kwajalein",
    "Libya",
    "MET",
    "MST",
    "MST7MDT",
    "Mexico/BajaNorte",
    "Mexico/BajaSur",
    "Mexico/General",
    "NZ",
    "NZ-CHAT",
    "Navajo",
    "PRC",
    "PST8PDT",
    "Pacific/Apia",
    "Pacific/Auckland",
    "Pacific/Bougainville",
    "Pacific/Chatham",
    "Pacific/Chuuk",
    "Pacific/Easter",
    "Pacific/Efate",
    "Pacific/Enderbury",
    "Pacific/Fakaofo",
    "Pacific/Fiji",
    "Pacific/Funafuti",
    "Pacific/Galapagos",
    "Pacific/Gambier",
    "Pacific/Guadalcanal",
    "Pacific/Guam",
    "Pacific/Honolulu",
    "Pacific/Johnston",
    "Pacific/Kanton",
    "Pacific/Kiritimati",
    "Pacific/Kosrae",
    "Pacific/Kwajalein",
    "Pacific/Majuro",
    "Pacific/Marquesas",
    "Pacific/Midway",
    "Pacific/Nauru",
    "Pacific/Niue",
    "Pacific/Norfolk",
    "Pacific/Noumea",
    "Pacific/Pago_Pago",
    "Pacific/Palau",
    "Pacific/Pitcairn",
    "Pacific/Pohnpei",
    "Pacific/Ponape",
    "Pacific/Port_Moresby",
    "Pacific/Rarotonga",
    "Pacific/Saipan",
    "Pacific/Samoa",
    "Pacific/Tahiti",
    "Pacific/Tarawa",
    "Pacific/Tongatapu",
    "Pacific/Truk",
    "Pacific/Wake",
    "Pacific/Wallis",
    "Pacific/Yap",
    "Poland",
    "Portugal",
    "ROC",
    "ROK",
    "Singapore",
    "Turkey",
    "UCT",
    "US/Alaska",
    "US/Aleutian",
    "US/Arizona",
    "US/Central",
    "US/East-Indiana",
    "US/Eastern",
    "US/Hawaii",
    "US/Indiana-Starke",
    "US/Michigan",
    "US/Mountain",
    "US/Pacific",
    "US/Samoa",
    "UTC",
    "Universal",
    "W-SU",
    "WET",
    "Zulu"
]

4 Comments

A better way would be to use a lib like moment-timezone Sample code: import moment from "moment-timezone" const timeZones = moment.tz.names(); for (const timezone of timeZones) { console.log(timezone) }
Just for timezone list, adding a big package like moment is not recommended. Adding moment package will increase your application size and will slow down your application performance.
Note that this list is no longer fully up to date and doesn't contain "America/Ciudad_Juarez"
@bilo-io momentjs.com/docs/#/-project-status Moment is considered deprecated. Wouldn't advise using it long-term.
3

I did not find the list of time-zone through browser javascript so created array of timezone list and used it.

Option 1

Till Dec 25, 2020 in JAVA 11 ZoneRulesProvider.java

Create array/collection and use this without external library

I found 600 sorted TimeZone

'Africa/Abidjan','Africa/Accra','Africa/Addis_Ababa','Africa/Algiers','Africa/Asmara','Africa/Asmera','Africa/Bamako','Africa/Bangui','Africa/Banjul','Africa/Bissau','Africa/Blantyre','Africa/Brazzaville','Africa/Bujumbura','Africa/Cairo','Africa/Casablanca','Africa/Ceuta','Africa/Conakry','Africa/Dakar','Africa/Dar_es_Salaam','Africa/Djibouti','Africa/Douala','Africa/El_Aaiun','Africa/Freetown','Africa/Gaborone','Africa/Harare','Africa/Johannesburg','Africa/Juba','Africa/Kampala','Africa/Khartoum','Africa/Kigali','Africa/Kinshasa','Africa/Lagos','Africa/Libreville','Africa/Lome','Africa/Luanda','Africa/Lubumbashi','Africa/Lusaka','Africa/Malabo','Africa/Maputo','Africa/Maseru','Africa/Mbabane','Africa/Mogadishu','Africa/Monrovia','Africa/Nairobi','Africa/Ndjamena','Africa/Niamey','Africa/Nouakchott','Africa/Ouagadougou','Africa/Porto-Novo','Africa/Sao_Tome','Africa/Timbuktu','Africa/Tripoli','Africa/Tunis','Africa/Windhoek','America/Adak','America/Anchorage','America/Anguilla','America/Antigua','America/Araguaina','America/Argentina/Buenos_Aires','America/Argentina/Catamarca','America/Argentina/ComodRivadavia','America/Argentina/Cordoba','America/Argentina/Jujuy','America/Argentina/La_Rioja','America/Argentina/Mendoza','America/Argentina/Rio_Gallegos','America/Argentina/Salta','America/Argentina/San_Juan','America/Argentina/San_Luis','America/Argentina/Tucuman','America/Argentina/Ushuaia','America/Aruba','America/Asuncion','America/Atikokan','America/Atka','America/Bahia','America/Bahia_Banderas','America/Barbados','America/Belem','America/Belize','America/Blanc-Sablon','America/Boa_Vista','America/Bogota','America/Boise','America/Buenos_Aires','America/Cambridge_Bay','America/Campo_Grande','America/Cancun','America/Caracas','America/Catamarca','America/Cayenne','America/Cayman','America/Chicago','America/Chihuahua','America/Coral_Harbour','America/Cordoba','America/Costa_Rica','America/Creston','America/Cuiaba','America/Curacao','America/Danmarkshavn','America/Dawson','America/Dawson_Creek','America/Denver','America/Detroit','America/Dominica','America/Edmonton','America/Eirunepe','America/El_Salvador','America/Ensenada','America/Fort_Nelson','America/Fort_Wayne','America/Fortaleza','America/Glace_Bay','America/Godthab','America/Goose_Bay','America/Grand_Turk','America/Grenada','America/Guadeloupe','America/Guatemala','America/Guayaquil','America/Guyana','America/Halifax','America/Havana','America/Hermosillo','America/Indiana/Indianapolis','America/Indiana/Knox','America/Indiana/Marengo','America/Indiana/Petersburg','America/Indiana/Tell_City','America/Indiana/Vevay','America/Indiana/Vincennes','America/Indiana/Winamac','America/Indianapolis','America/Inuvik','America/Iqaluit','America/Jamaica','America/Jujuy','America/Juneau','America/Kentucky/Louisville','America/Kentucky/Monticello','America/Knox_IN','America/Kralendijk','America/La_Paz','America/Lima','America/Los_Angeles','America/Louisville','America/Lower_Princes','America/Maceio','America/Managua','America/Manaus','America/Marigot','America/Martinique','America/Matamoros','America/Mazatlan','America/Mendoza','America/Menominee','America/Merida','America/Metlakatla','America/Mexico_City','America/Miquelon','America/Moncton','America/Monterrey','America/Montevideo','America/Montreal','America/Montserrat','America/Nassau','America/New_York','America/Nipigon','America/Nome','America/Noronha','America/North_Dakota/Beulah','America/North_Dakota/Center','America/North_Dakota/New_Salem','America/Ojinaga','America/Panama','America/Pangnirtung','America/Paramaribo','America/Phoenix','America/Port-au-Prince','America/Port_of_Spain','America/Porto_Acre','America/Porto_Velho','America/Puerto_Rico','America/Punta_Arenas','America/Rainy_River','America/Rankin_Inlet','America/Recife','America/Regina','America/Resolute','America/Rio_Branco','America/Rosario','America/Santa_Isabel','America/Santarem','America/Santiago','America/Santo_Domingo','America/Sao_Paulo','America/Scoresbysund','America/Shiprock','America/Sitka','America/St_Barthelemy','America/St_Johns','America/St_Kitts','America/St_Lucia','America/St_Thomas','America/St_Vincent','America/Swift_Current','America/Tegucigalpa','America/Thule','America/Thunder_Bay','America/Tijuana','America/Toronto','America/Tortola','America/Vancouver','America/Virgin','America/Whitehorse','America/Winnipeg','America/Yakutat','America/Yellowknife','Antarctica/Casey','Antarctica/Davis','Antarctica/DumontDUrville','Antarctica/Macquarie','Antarctica/Mawson','Antarctica/McMurdo','Antarctica/Palmer','Antarctica/Rothera','Antarctica/South_Pole','Antarctica/Syowa','Antarctica/Troll','Antarctica/Vostok','Arctic/Longyearbyen','Asia/Aden','Asia/Almaty','Asia/Amman','Asia/Anadyr','Asia/Aqtau','Asia/Aqtobe','Asia/Ashgabat','Asia/Ashkhabad','Asia/Atyrau','Asia/Baghdad','Asia/Bahrain','Asia/Baku','Asia/Bangkok','Asia/Barnaul','Asia/Beirut','Asia/Bishkek','Asia/Brunei','Asia/Calcutta','Asia/Chita','Asia/Choibalsan','Asia/Chongqing','Asia/Chungking','Asia/Colombo','Asia/Dacca','Asia/Damascus','Asia/Dhaka','Asia/Dili','Asia/Dubai','Asia/Dushanbe','Asia/Famagusta','Asia/Gaza','Asia/Harbin','Asia/Hebron','Asia/Ho_Chi_Minh','Asia/Hong_Kong','Asia/Hovd','Asia/Irkutsk','Asia/Istanbul','Asia/Jakarta','Asia/Jayapura','Asia/Jerusalem','Asia/Kabul','Asia/Kamchatka','Asia/Karachi','Asia/Kashgar','Asia/Kathmandu','Asia/Katmandu','Asia/Khandyga','Asia/Kolkata','Asia/Krasnoyarsk','Asia/Kuala_Lumpur','Asia/Kuching','Asia/Kuwait','Asia/Macao','Asia/Macau','Asia/Magadan','Asia/Makassar','Asia/Manila','Asia/Muscat','Asia/Nicosia','Asia/Novokuznetsk','Asia/Novosibirsk','Asia/Omsk','Asia/Oral','Asia/Phnom_Penh','Asia/Pontianak','Asia/Pyongyang','Asia/Qatar','Asia/Qostanay','Asia/Qyzylorda','Asia/Rangoon','Asia/Riyadh','Asia/Saigon','Asia/Sakhalin','Asia/Samarkand','Asia/Seoul','Asia/Shanghai','Asia/Singapore','Asia/Srednekolymsk','Asia/Taipei','Asia/Tashkent','Asia/Tbilisi','Asia/Tehran','Asia/Tel_Aviv','Asia/Thimbu','Asia/Thimphu','Asia/Tokyo','Asia/Tomsk','Asia/Ujung_Pandang','Asia/Ulaanbaatar','Asia/Ulan_Bator','Asia/Urumqi','Asia/Ust-Nera','Asia/Vientiane','Asia/Vladivostok','Asia/Yakutsk','Asia/Yangon','Asia/Yekaterinburg','Asia/Yerevan','Atlantic/Azores','Atlantic/Bermuda','Atlantic/Canary','Atlantic/Cape_Verde','Atlantic/Faeroe','Atlantic/Faroe','Atlantic/Jan_Mayen','Atlantic/Madeira','Atlantic/Reykjavik','Atlantic/South_Georgia','Atlantic/St_Helena','Atlantic/Stanley','Australia/ACT','Australia/Adelaide','Australia/Brisbane','Australia/Broken_Hill','Australia/Canberra','Australia/Currie','Australia/Darwin','Australia/Eucla','Australia/Hobart','Australia/LHI','Australia/Lindeman','Australia/Lord_Howe','Australia/Melbourne','Australia/NSW','Australia/North','Australia/Perth','Australia/Queensland','Australia/South','Australia/Sydney','Australia/Tasmania','Australia/Victoria','Australia/West','Australia/Yancowinna','Brazil/Acre','Brazil/DeNoronha','Brazil/East','Brazil/West','CET','CST6CDT','Canada/Atlantic','Canada/Central','Canada/Eastern','Canada/Mountain','Canada/Newfoundland','Canada/Pacific','Canada/Saskatchewan','Canada/Yukon','Chile/Continental','Chile/EasterIsland','Cuba','EET','EST5EDT','Egypt','Eire','Etc/GMT','Etc/GMT+0','Etc/GMT+1','Etc/GMT+10','Etc/GMT+11','Etc/GMT+12','Etc/GMT+2','Etc/GMT+3','Etc/GMT+4','Etc/GMT+5','Etc/GMT+6','Etc/GMT+7','Etc/GMT+8','Etc/GMT+9','Etc/GMT-0','Etc/GMT-1','Etc/GMT-10','Etc/GMT-11','Etc/GMT-12','Etc/GMT-13','Etc/GMT-14','Etc/GMT-2','Etc/GMT-3','Etc/GMT-4','Etc/GMT-5','Etc/GMT-6','Etc/GMT-7','Etc/GMT-8','Etc/GMT-9','Etc/GMT0','Etc/Greenwich','Etc/UCT','Etc/UTC','Etc/Universal','Etc/Zulu','Europe/Amsterdam','Europe/Andorra','Europe/Astrakhan','Europe/Athens','Europe/Belfast','Europe/Belgrade','Europe/Berlin','Europe/Bratislava','Europe/Brussels','Europe/Bucharest','Europe/Budapest','Europe/Busingen','Europe/Chisinau','Europe/Copenhagen','Europe/Dublin','Europe/Gibraltar','Europe/Guernsey','Europe/Helsinki','Europe/Isle_of_Man','Europe/Istanbul','Europe/Jersey','Europe/Kaliningrad','Europe/Kiev','Europe/Kirov','Europe/Lisbon','Europe/Ljubljana','Europe/London','Europe/Luxembourg','Europe/Madrid','Europe/Malta','Europe/Mariehamn','Europe/Minsk','Europe/Monaco','Europe/Moscow','Europe/Nicosia','Europe/Oslo','Europe/Paris','Europe/Podgorica','Europe/Prague','Europe/Riga','Europe/Rome','Europe/Samara','Europe/San_Marino','Europe/Sarajevo','Europe/Saratov','Europe/Simferopol','Europe/Skopje','Europe/Sofia','Europe/Stockholm','Europe/Tallinn','Europe/Tirane','Europe/Tiraspol','Europe/Ulyanovsk','Europe/Uzhgorod','Europe/Vaduz','Europe/Vatican','Europe/Vienna','Europe/Vilnius','Europe/Volgograd','Europe/Warsaw','Europe/Zagreb','Europe/Zaporozhye','Europe/Zurich','GB','GB-Eire','GMT','GMT0','Greenwich','Hongkong','Iceland','Indian/Antananarivo','Indian/Chagos','Indian/Christmas','Indian/Cocos','Indian/Comoro','Indian/Kerguelen','Indian/Mahe','Indian/Maldives','Indian/Mauritius','Indian/Mayotte','Indian/Reunion','Iran','Israel','Jamaica','Japan','Kwajalein','Libya','MET','MST7MDT','Mexico/BajaNorte','Mexico/BajaSur','Mexico/General','NZ','NZ-CHAT','Navajo','PRC','PST8PDT','Pacific/Apia','Pacific/Auckland','Pacific/Bougainville','Pacific/Chatham','Pacific/Chuuk','Pacific/Easter','Pacific/Efate','Pacific/Enderbury','Pacific/Fakaofo','Pacific/Fiji','Pacific/Funafuti','Pacific/Galapagos','Pacific/Gambier','Pacific/Guadalcanal','Pacific/Guam','Pacific/Honolulu','Pacific/Johnston','Pacific/Kiritimati','Pacific/Kosrae','Pacific/Kwajalein','Pacific/Majuro','Pacific/Marquesas','Pacific/Midway','Pacific/Nauru','Pacific/Niue','Pacific/Norfolk','Pacific/Noumea','Pacific/Pago_Pago','Pacific/Palau','Pacific/Pitcairn','Pacific/Pohnpei','Pacific/Ponape','Pacific/Port_Moresby','Pacific/Rarotonga','Pacific/Saipan','Pacific/Samoa','Pacific/Tahiti','Pacific/Tarawa','Pacific/Tongatapu','Pacific/Truk','Pacific/Wake','Pacific/Wallis','Pacific/Yap','Poland','Portugal','ROK','Singapore','SystemV/AST4','SystemV/AST4ADT','SystemV/CST6','SystemV/CST6CDT','SystemV/EST5','SystemV/EST5EDT','SystemV/HST10','SystemV/MST7','SystemV/MST7MDT','SystemV/PST8','SystemV/PST8PDT','SystemV/YST9','SystemV/YST9YDT','Turkey','UCT','US/Alaska','US/Aleutian','US/Arizona','US/Central','US/East-Indiana','US/Eastern','US/Hawaii','US/Indiana-Starke','US/Michigan','US/Mountain','US/Pacific','US/Pacific-New','US/Samoa','UTC','Universal','W-SU','WET','Zulu' 

Option 2

OS Valid 441 timezone, Extracted from Mac sudo systemsetup -listtimezones

'Africa/Abidjan','Africa/Accra','Africa/Addis_Ababa','Africa/Algiers','Africa/Asmara','Africa/Bamako','Africa/Bangui','Africa/Banjul','Africa/Bissau','Africa/Blantyre','Africa/Brazzaville','Africa/Bujumbura','Africa/Cairo','Africa/Casablanca','Africa/Ceuta','Africa/Conakry','Africa/Dakar','Africa/Dar_es_Salaam','Africa/Djibouti','Africa/Douala','Africa/El_Aaiun','Africa/Freetown','Africa/Gaborone','Africa/Harare','Africa/Johannesburg','Africa/Juba','Africa/Kampala','Africa/Khartoum','Africa/Kigali','Africa/Kinshasa','Africa/Lagos','Africa/Libreville','Africa/Lome','Africa/Luanda','Africa/Lubumbashi','Africa/Lusaka','Africa/Malabo','Africa/Maputo','Africa/Maseru','Africa/Mbabane','Africa/Mogadishu','Africa/Monrovia','Africa/Nairobi','Africa/Ndjamena','Africa/Niamey','Africa/Nouakchott','Africa/Ouagadougou','Africa/Porto-Novo','Africa/Sao_Tome','Africa/Tripoli','Africa/Tunis','Africa/Windhoek','America/Adak','America/Anchorage','America/Anguilla','America/Antigua','America/Araguaina','America/Argentina/Buenos_Aires','America/Argentina/Catamarca','America/Argentina/Cordoba','America/Argentina/Jujuy','America/Argentina/La_Rioja','America/Argentina/Mendoza','America/Argentina/Rio_Gallegos','America/Argentina/Salta','America/Argentina/San_Juan','America/Argentina/San_Luis','America/Argentina/Tucuman','America/Argentina/Ushuaia','America/Aruba','America/Asuncion','America/Atikokan','America/Bahia','America/Bahia_Banderas','America/Barbados','America/Belem','America/Belize','America/Blanc-Sablon','America/Boa_Vista','America/Bogota','America/Boise','America/Cambridge_Bay','America/Campo_Grande','America/Cancun','America/Caracas','America/Cayenne','America/Cayman','America/Chicago','America/Chihuahua','America/Costa_Rica','America/Creston','America/Cuiaba','America/Curacao','America/Danmarkshavn','America/Dawson','America/Dawson_Creek','America/Denver','America/Detroit','America/Dominica','America/Edmonton','America/Eirunepe','America/El_Salvador','America/Fort_Nelson','America/Fortaleza','America/Glace_Bay','America/Godthab','America/Goose_Bay','America/Grand_Turk','America/Grenada','America/Guadeloupe','America/Guatemala','America/Guayaquil','America/Guyana','America/Halifax','America/Havana','America/Hermosillo','America/Indiana/Indianapolis','America/Indiana/Knox','America/Indiana/Marengo','America/Indiana/Petersburg','America/Indiana/Tell_City','America/Indiana/Vevay','America/Indiana/Vincennes','America/Indiana/Winamac','America/Inuvik','America/Iqaluit','America/Jamaica','America/Juneau','America/Kentucky/Louisville','America/Kentucky/Monticello','America/Kralendijk','America/La_Paz','America/Lima','America/Los_Angeles','America/Lower_Princes','America/Maceio','America/Managua','America/Manaus','America/Marigot','America/Martinique','America/Matamoros','America/Mazatlan','America/Menominee','America/Merida','America/Metlakatla','America/Mexico_City','America/Miquelon','America/Moncton','America/Monterrey','America/Montevideo','America/Montreal','America/Montserrat','America/Nassau','America/New_York','America/Nipigon','America/Nome','America/Noronha','America/North_Dakota/Beulah','America/North_Dakota/Center','America/North_Dakota/New_Salem','America/Nuuk','America/Ojinaga','America/Panama','America/Pangnirtung','America/Paramaribo','America/Phoenix','America/Port-au-Prince','America/Port_of_Spain','America/Porto_Velho','America/Puerto_Rico','America/Punta_Arenas','America/Rainy_River','America/Rankin_Inlet','America/Recife','America/Regina','America/Resolute','America/Rio_Branco','America/Santa_Isabel','America/Santarem','America/Santiago','America/Santo_Domingo','America/Sao_Paulo','America/Scoresbysund','America/Shiprock','America/Sitka','America/St_Barthelemy','America/St_Johns','America/St_Kitts','America/St_Lucia','America/St_Thomas','America/St_Vincent','America/Swift_Current','America/Tegucigalpa','America/Thule','America/Thunder_Bay','America/Tijuana','America/Toronto','America/Tortola','America/Vancouver','America/Whitehorse','America/Winnipeg','America/Yakutat','America/Yellowknife','Antarctica/Casey','Antarctica/Davis','Antarctica/DumontDUrville','Antarctica/Macquarie','Antarctica/Mawson','Antarctica/McMurdo','Antarctica/Palmer','Antarctica/Rothera','Antarctica/South_Pole','Antarctica/Syowa','Antarctica/Troll','Antarctica/Vostok','Arctic/Longyearbyen','Asia/Aden','Asia/Almaty','Asia/Amman','Asia/Anadyr','Asia/Aqtau','Asia/Aqtobe','Asia/Ashgabat','Asia/Atyrau','Asia/Baghdad','Asia/Bahrain','Asia/Baku','Asia/Bangkok','Asia/Barnaul','Asia/Beirut','Asia/Bishkek','Asia/Brunei','Asia/Calcutta','Asia/Chita','Asia/Choibalsan','Asia/Chongqing','Asia/Colombo','Asia/Damascus','Asia/Dhaka','Asia/Dili','Asia/Dubai','Asia/Dushanbe','Asia/Famagusta','Asia/Gaza','Asia/Harbin','Asia/Hebron','Asia/Ho_Chi_Minh','Asia/Hong_Kong','Asia/Hovd','Asia/Irkutsk','Asia/Jakarta','Asia/Jayapura','Asia/Jerusalem','Asia/Kabul','Asia/Kamchatka','Asia/Karachi','Asia/Kashgar','Asia/Kathmandu','Asia/Katmandu','Asia/Khandyga','Asia/Krasnoyarsk','Asia/Kuala_Lumpur','Asia/Kuching','Asia/Kuwait','Asia/Macau','Asia/Magadan','Asia/Makassar','Asia/Manila','Asia/Muscat','Asia/Nicosia','Asia/Novokuznetsk','Asia/Novosibirsk','Asia/Omsk','Asia/Oral','Asia/Phnom_Penh','Asia/Pontianak','Asia/Pyongyang','Asia/Qatar','Asia/Qostanay','Asia/Qyzylorda','Asia/Rangoon','Asia/Riyadh','Asia/Sakhalin','Asia/Samarkand','Asia/Seoul','Asia/Shanghai','Asia/Singapore','Asia/Srednekolymsk','Asia/Taipei','Asia/Tashkent','Asia/Tbilisi','Asia/Tehran','Asia/Thimphu','Asia/Tokyo','Asia/Tomsk','Asia/Ulaanbaatar','Asia/Urumqi','Asia/Ust-Nera','Asia/Vientiane','Asia/Vladivostok','Asia/Yakutsk','Asia/Yangon','Asia/Yekaterinburg','Asia/Yerevan','Atlantic/Azores','Atlantic/Bermuda','Atlantic/Canary','Atlantic/Cape_Verde','Atlantic/Faroe','Atlantic/Madeira','Atlantic/Reykjavik','Atlantic/South_Georgia','Atlantic/St_Helena','Atlantic/Stanley','Australia/Adelaide','Australia/Brisbane','Australia/Broken_Hill','Australia/Currie','Australia/Darwin','Australia/Eucla','Australia/Hobart','Australia/Lindeman','Australia/Lord_Howe','Australia/Melbourne','Australia/Perth','Australia/Sydney','Europe/Amsterdam','Europe/Andorra','Europe/Astrakhan','Europe/Athens','Europe/Belgrade','Europe/Berlin','Europe/Bratislava','Europe/Brussels','Europe/Bucharest','Europe/Budapest','Europe/Busingen','Europe/Chisinau','Europe/Copenhagen','Europe/Dublin','Europe/Gibraltar','Europe/Guernsey','Europe/Helsinki','Europe/Isle_of_Man','Europe/Istanbul','Europe/Jersey','Europe/Kaliningrad','Europe/Kiev','Europe/Kirov','Europe/Kyiv','Europe/Lisbon','Europe/Ljubljana','Europe/London','Europe/Luxembourg','Europe/Madrid','Europe/Malta','Europe/Mariehamn','Europe/Minsk','Europe/Monaco','Europe/Moscow','Europe/Oslo','Europe/Paris','Europe/Podgorica','Europe/Prague','Europe/Riga','Europe/Rome','Europe/Samara','Europe/San_Marino','Europe/Sarajevo','Europe/Saratov','Europe/Simferopol','Europe/Skopje','Europe/Sofia','Europe/Stockholm','Europe/Tallinn','Europe/Tirane','Europe/Ulyanovsk','Europe/Uzhgorod','Europe/Vaduz','Europe/Vatican','Europe/Vienna','Europe/Vilnius','Europe/Volgograd','Europe/Warsaw','Europe/Zagreb','Europe/Zaporozhye','Europe/Zurich','GMT','Indian/Antananarivo','Indian/Chagos','Indian/Christmas','Indian/Cocos','Indian/Comoro','Indian/Kerguelen','Indian/Mahe','Indian/Maldives','Indian/Mauritius','Indian/Mayotte','Indian/Reunion','Pacific/Apia','Pacific/Auckland','Pacific/Bougainville','Pacific/Chatham','Pacific/Chuuk','Pacific/Easter','Pacific/Efate','Pacific/Enderbury','Pacific/Fakaofo','Pacific/Fiji','Pacific/Funafuti','Pacific/Galapagos','Pacific/Gambier','Pacific/Guadalcanal','Pacific/Guam','Pacific/Honolulu','Pacific/Johnston','Pacific/Kanton','Pacific/Kiritimati','Pacific/Kosrae','Pacific/Kwajalein','Pacific/Majuro','Pacific/Marquesas','Pacific/Midway','Pacific/Nauru','Pacific/Niue','Pacific/Norfolk','Pacific/Noumea','Pacific/Pago_Pago','Pacific/Palau','Pacific/Pitcairn','Pacific/Pohnpei','Pacific/Ponape','Pacific/Port_Moresby','Pacific/Rarotonga','Pacific/Saipan','Pacific/Tahiti','Pacific/Tarawa','Pacific/Tongatapu','Pacific/Truk','Pacific/Wake','Pacific/Wallis'

3 Comments

This is Java and not Javascript
I know this is not javascript, but list of time zone, As long as I know browser don't give you list of timezone except external libraries, but yes it can read your settings of timezone
Some (maybe many) of these are invalid in JavaScript. US/Central for one.
3

I've been in this space for a bit.

The challenge I've had is balancing the comprehensiveness of the options returned by Intl.supportedValuesOf("timeZone") with something more readable.

Here's a little helper function I wrote that returns values like:

{
    "friendlyName": "Central Time",
    "offsetString": "GMT-05:00",
    "offsetNumeric": -300,
    "longTimezones": [
        "America/Chicago",
        "America/Indiana/Knox",
        "America/Indiana/Tell_City",
        "America/Matamoros",
        "America/Menominee",
        "America/North_Dakota/Beulah",
        "America/North_Dakota/Center",
        "America/North_Dakota/New_Salem",
        "America/Ojinaga",
        "America/Rainy_River",
        "America/Rankin_Inlet",
        "America/Resolute",
        "America/Winnipeg"
    ]
},
{
    "friendlyName": "Central Time (Chihuahua)",
    "offsetString": "GMT-06:00",
    "offsetNumeric": -360,
    "longTimezones": [
        "America/Chihuahua"
    ]
}

For my needs (which may not be everyone's :)), I've found that showing friendlyName (offsetString) gets the job done, and is a list of < 200 timezones, vs the full list of > 400.

Hope this helps!

Comments

2

You can do it using moment where you could list all zones using moment.tz.names() or list all zones in a country with moment.tz.zonesForCountry(String).

import moment from 'moment-timezone'

moment.tz.names(); // ["Africa/Abidjan", "Africa/Accra", "Africa/Addis_Ababa", ...]
moment.tz.zonesForCountry('US'); // ["America/Adak", "America/Anchorage", ... "Pacific/Honolulu"]

BTW if you need to get an alias like Eastern Daylight Time or EDT for your timezone I would recommend to use a helper function with Intl.DateTimeFormat like so

const getTimeZoneName = (timeZone: string, nameType: 'short' | 'long') => {
  const formatter = new Intl.DateTimeFormat(locale, { timeZone, timeZoneName: nameType })
  const formatted = formatter.formatToParts(new Date())

  return formatted.find(({ type }) => type === 'timeZoneName')?.value || ''
}

Comments

2

May I suggest your browser is the best reference. Here's a 2D map of all timezones you can use 2x or a tree view, or whatever, once the user selects their region and place, you can apply it to your Date().

const mapTimeZones = Intl.supportedValuesOf("timeZone").reduce(
    (acc, timeZone) => {
        const [region, ...places] = timeZone.split("/")
        const place = places.join("/")

        if (acc[region]) {
            acc[region].push(place)
        } else {
            acc[region] = [place]
        }
        return acc
    },
    {}
)

const regions = document.querySelector("#regions")
const places = document.querySelector("#places")


Object.keys(mapTimeZones).forEach((region) => {
    const regionOption = document.createElement("option");
    regionOption.value = region;
    regionOption.textContent = region;
    regions.appendChild(regionOption);
});

const updatePlaces = () => {
    const selectedRegion = regions.value
    if (places) {
        places.innerHTML = "" // Clear previous options

        if (mapTimeZones[selectedRegion]) {
            mapTimeZones[selectedRegion].forEach((place) => {
                const placeOption = document.createElement("option")
                placeOption.value = place
                placeOption.textContent = place
                places.appendChild(placeOption)
            })
        }
    }
}

updatePlaces() // Initial call to populate places based on the default region
regions.addEventListener("change", updatePlaces)

places.addEventListener("change", () => {
  const selectedRegion = regions.value
  const selectedPlace = places.value
  const timeZone = `${selectedRegion}/${selectedPlace}`
  console.log("Selected Time Zone:", timeZone)
})
<select id="regions"> </select> <select id="places"></select>

Comments

1

In react there re multiple ways to do so, but you can get all timezone using countries-and-timezones library.

first import the library:

import TimezoneCountries from "countries-and-timezones";

after importing, paste below code snippet to get list of all timezones.

export function getAllTimezones() {
  const allTimezones = Object.values(
    TimezoneCountries.getAllTimezones({ deprecated: true })
  ).map((list) => ({
    value: list.name,
    label: `${list.name}`,
  }));
  return allTimezones;
}

you can also get country name and utc offset by adding following lines

list.countries //to get country names in which timezone is used
list.utcOffsetStr //to get UTC offset

read more about library here.

Comments

1

My version (with Typescript):

type timezone = {
  offset: string;
  label: string;
  region: string;
};

export const TIMEZONES: timezone[] = [
  {
    offset: 'UTC-11:00',
    label: 'Midway Island, American Samoa',
    region: 'Pacific/Midway',
  },
  {
    offset: 'UTC-10:00',
    label: 'Aleutian Islands',
    region: 'America/Adak',
  },
  {
    offset: 'UTC-10:00',
    label: 'Hawaii',
    region: 'Pacific/Honolulu',
  },
  {
    offset: 'UTC-09:30',
    label: 'Marquesas Islands',
    region: 'Pacific/Marquesas',
  },
  {
    offset: 'UTC-09:00',
    label: 'Alaska',
    region: 'America/Anchorage',
  },
  {
    offset: 'UTC-08:00',
    label: 'Baja California',
    region: 'America/Tijuana',
  },
  {
    offset: 'UTC-08:00',
    label: 'Pacific Time US and Canada',
    region: 'America/Los_Angeles',
  },
  {
    offset: 'UTC-07:00',
    label: 'Arizona',
    region: 'America/Phoenix',
  },
  {
    offset: 'UTC-07:00',
    label: 'Mountain Time US and Canada, Navajo Nation',
    region: 'America/Denver',
  },
  {
    offset: 'UTC-06:00',
    label: 'Central America',
    region: 'America/Belize',
  },
  {
    offset: 'UTC-06:00',
    label: 'Central Time (US and Canada)',
    region: 'America/Chicago',
  },
  {
    offset: 'UTC-06:00',
    label: 'Chihuahua, La Paz, Mazatlan',
    region: 'America/Chihuahua',
  },
  {
    offset: 'UTC-06:00',
    label: 'Easter Island',
    region: 'Pacific/Easter',
  },
  {
    offset: 'UTC-06:00',
    label: 'Guadalajara, Mexico City, Monterrey',
    region: 'America/Mexico_City',
  },
  {
    offset: 'UTC-06:00',
    label: 'Saskatchewan',
    region: 'America/Regina',
  },
  {
    offset: 'UTC-05:00',
    label: 'Bogota, Lima, Quito',
    region: 'America/Bogota',
  },
  {
    offset: 'UTC-05:00',
    label: 'Chetumal',
    region: 'America/Cancun',
  },
  {
    offset: 'UTC-05:00',
    label: 'Eastern Time (US and Canada)',
    region: 'America/New_York',
  },
  {
    offset: 'UTC-05:00',
    label: 'Haiti',
    region: 'America/Port-au-Prince',
  },
  {
    offset: 'UTC-05:00',
    label: 'Havana',
    region: 'America/Havana',
  },
  {
    offset: 'UTC-05:00',
    label: 'Indiana (East)',
    region: 'America/Indiana/Indianapolis',
  },
  {
    offset: 'UTC-05:00',
    label: 'Turks and Caicos',
    region: 'America/Grand_Turk',
  },
  {
    offset: 'UTC-04:00',
    label: 'Asuncion',
    region: 'America/Asuncion',
  },
  {
    offset: 'UTC-04:00',
    label: 'Atlantic Time (Canada)',
    region: 'America/Halifax',
  },
  {
    offset: 'UTC-04:00',
    label: 'Caracas',
    region: 'America/Caracas',
  },
  {
    offset: 'UTC-04:00',
    label: 'Cuiaba',
    region: 'America/Cuiaba',
  },
  {
    offset: 'UTC-04:00',
    label: 'Georgetown, La Paz, Manaus, San Juan',
    region: 'America/Manaus',
  },
  {
    offset: 'UTC-04:00',
    label: 'Santiago',
    region: 'America/Santiago',
  },
  {
    offset: 'UTC-03:30',
    label: 'Newfoundland',
    region: 'America/St_Johns',
  },
  {
    offset: 'UTC-03:00',
    label: 'Araguaina',
    region: 'America/Fortaleza',
  },
  {
    offset: 'UTC-03:00',
    label: 'Brasilia',
    region: 'America/Sao_Paulo',
  },
  {
    offset: 'UTC-03:00',
    label: 'Cayenne, Fortaleza',
    region: 'America/Cayenne',
  },
  {
    offset: 'UTC-03:00',
    label: 'City of Buenos Aires',
    region: 'America/Buenos_Aires',
  },
  {
    offset: 'UTC-03:00',
    label: 'Greenland',
    region: 'America/Godthab',
  },
  {
    offset: 'UTC-03:00',
    label: 'Montevideo',
    region: 'America/Montevideo',
  },
  {
    offset: 'UTC-03:00',
    label: 'Saint Pierre and Miquelon',
    region: 'America/Miquelon',
  },
  {
    offset: 'UTC-03:00',
    label: 'Salvador',
    region: 'America/Bahia',
  },
  {
    offset: 'UTC-02:00',
    label: 'Fernando de Noronha',
    region: 'America/Noronha',
  },
  {
    offset: 'UTC-01:00',
    label: 'Azores',
    region: 'Atlantic/Azores',
  },
  {
    offset: 'UTC-01:00',
    label: 'Cabo Verde Islands',
    region: 'Atlantic/Cape_Verde',
  },
  {
    offset: 'UTC',
    label: 'Dublin, Edinburgh, Lisbon, London',
    region: 'Europe/London',
  },
  {
    offset: 'UTC',
    label: 'Monrovia, Reykjavik',
    region: 'Africa/Monrovia',
  },
  {
    offset: 'UTC+01:00',
    label: 'Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna',
    region: 'Europe/Amsterdam',
  },
  {
    offset: 'UTC+01:00',
    label: 'Belgrade, Bratislava, Budapest, Ljubljana, Prague',
    region: 'Europe/Belgrade',
  },
  {
    offset: 'UTC+01:00',
    label: 'Brussels, Copenhagen, Madrid, Paris',
    region: 'Europe/Brussels',
  },
  {
    offset: 'UTC+01:00',
    label: 'Sarajevo, Skopje, Warsaw, Zagreb',
    region: 'Europe/Warsaw',
  },
  {
    offset: 'UTC+01:00',
    label: 'West Central Africa',
    region: 'Africa/Algiers',
  },
  {
    offset: 'UTC+01:00',
    label: 'Casablanca',
    region: 'Africa/Casablanca',
  },
  {
    offset: 'UTC+01:00',
    label: 'Windhoek',
    region: 'Africa/Windhoek',
  },
  {
    offset: 'UTC+02:00',
    label: 'Athens, Bucharest',
    region: 'Europe/Athens',
  },
  {
    offset: 'UTC+02:00',
    label: 'Beirut',
    region: 'Asia/Beirut',
  },
  {
    offset: 'UTC+02:00',
    label: 'Cairo',
    region: 'Africa/Cairo',
  },
  {
    offset: 'UTC+02:00',
    label: 'Damascus',
    region: 'Asia/Damascus',
  },
  {
    offset: 'UTC+02:00',
    label: 'Gaza, Hebron',
    region: 'Asia/Gaza',
  },
  {
    offset: 'UTC+02:00',
    label: 'Harare, Pretoria',
    region: 'Africa/Harare',
  },
  {
    offset: 'UTC+02:00',
    label: 'Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius',
    region: 'Europe/Helsinki',
  },
  {
    offset: 'UTC+02:00',
    label: 'Jerusalem',
    region: 'Asia/Jerusalem',
  },
  {
    offset: 'UTC+02:00',
    label: 'Kaliningrad',
    region: 'Europe/Kaliningrad',
  },
  {
    offset: 'UTC+02:00',
    label: 'Tripoli',
    region: 'Africa/Tripoli',
  },
  {
    offset: 'UTC+03:00',
    label: 'Amman',
    region: 'Asia/Amman',
  },
  {
    offset: 'UTC+03:00',
    label: 'Baghdad',
    region: 'Asia/Baghdad',
  },
  {
    offset: 'UTC+03:00',
    label: 'Istanbul',
    region: 'Asia/Istanbul',
  },
  {
    offset: 'UTC+03:00',
    label: 'Kuwait, Riyadh',
    region: 'Asia/Kuwait',
  },
  {
    offset: 'UTC+03:00',
    label: 'Minsk',
    region: 'Europe/Minsk',
  },
  {
    offset: 'UTC+03:00',
    label: 'Moscow, St. Petersburg',
    region: 'Europe/Moscow',
  },
  {
    offset: 'UTC+03:00',
    label: 'Nairobi',
    region: 'Africa/Nairobi',
  },
  {
    offset: 'UTC+03:30',
    label: 'Tehran',
    region: 'Asia/Tehran',
  },
  {
    offset: 'UTC+04:00',
    label: 'Abu Dhabi, Muscat',
    region: 'Asia/Muscat',
  },
  {
    offset: 'UTC+04:00',
    label: 'Astrakhan, Ulyanovsk, Volgograd',
    region: 'Europe/Astrakhan',
  },
  {
    offset: 'UTC+04:00',
    label: 'Baku',
    region: 'Asia/Baku',
  },
  {
    offset: 'UTC+04:00',
    label: 'Izhevsk, Samara',
    region: 'Europe/Samara',
  },
  {
    offset: 'UTC+04:00',
    label: 'Port Louis',
    region: 'Indian/Mauritius',
  },
  {
    offset: 'UTC+04:00',
    label: 'Tbilisi',
    region: 'Asia/Tbilisi',
  },
  {
    offset: 'UTC+04:00',
    label: 'Yerevan',
    region: 'Asia/Yerevan',
  },
  {
    offset: 'UTC+04:30',
    label: 'Kabul',
    region: 'Asia/Kabul',
  },
  {
    offset: 'UTC+05:00',
    label: 'Tashkent, Ashgabat',
    region: 'Asia/Tashkent',
  },
  {
    offset: 'UTC+05:00',
    label: 'Ekaterinburg',
    region: 'Asia/Yekaterinburg',
  },
  {
    offset: 'UTC+05:00',
    label: 'Islamabad, Karachi',
    region: 'Asia/Karachi',
  },
  {
    offset: 'UTC+05:00',
    label: 'Astana',
    region: 'Asia/Almaty',
  },
  {
    offset: 'UTC+05:30',
    label: 'Chennai, Kolkata, Mumbai, New Delhi',
    region: 'Asia/Kolkata',
  },
  {
    offset: 'UTC+05:30',
    label: 'Sri Jayawardenepura',
    region: 'Asia/Colombo',
  },
  {
    offset: 'UTC+05:45',
    label: 'Kathmandu',
    region: 'Asia/Katmandu',
  },
  {
    offset: 'UTC+06:00',
    label: 'Dhaka',
    region: 'Asia/Dhaka',
  },
  {
    offset: 'UTC+06:30',
    label: 'Yangon (Rangoon)',
    region: 'Asia/Rangoon',
  },
  {
    offset: 'UTC+07:00',
    label: 'Novosibirsk',
    region: 'Asia/Novosibirsk',
  },
  {
    offset: 'UTC+07:00',
    label: 'Bangkok, Hanoi, Jakarta',
    region: 'Asia/Bangkok',
  },
  {
    offset: 'UTC+07:00',
    label: 'Barnaul, Gorno-Altaysk',
    region: 'Asia/Barnaul',
  },
  {
    offset: 'UTC+07:00',
    label: 'Hovd',
    region: 'Asia/Hovd',
  },
  {
    offset: 'UTC+07:00',
    label: 'Krasnoyarsk',
    region: 'Asia/Krasnoyarsk',
  },
  {
    offset: 'UTC+07:00',
    label: 'Tomsk',
    region: 'Asia/Tomsk',
  },
  {
    offset: 'UTC+08:00',
    label: 'Beijing, Chongqing, Hong Kong SAR, Urumqi',
    region: 'Asia/Chongqing',
  },
  {
    offset: 'UTC+08:00',
    label: 'Irkutsk',
    region: 'Asia/Irkutsk',
  },
  {
    offset: 'UTC+08:00',
    label: 'Kuala Lumpur, Singapore',
    region: 'Asia/Kuala_Lumpur',
  },
  {
    offset: 'UTC+08:00',
    label: 'Perth',
    region: 'Australia/Perth',
  },
  {
    offset: 'UTC+08:00',
    label: 'Taipei',
    region: 'Asia/Taipei',
  },
  {
    offset: 'UTC+08:00',
    label: 'Ulaanbaatar',
    region: 'Asia/Ulaanbaatar',
  },
  {
    offset: 'UTC+08:45',
    label: 'Eucla',
    region: 'Australia/Eucla',
  },
  {
    offset: 'UTC+09:00',
    label: 'Chita',
    region: 'Asia/Chita',
  },
  {
    offset: 'UTC+09:00',
    label: 'Osaka, Sapporo, Tokyo',
    region: 'Asia/Tokyo',
  },
  {
    offset: 'UTC+09:00',
    label: 'Pyongyang',
    region: 'Asia/Pyongyang',
  },
  {
    offset: 'UTC+09:00',
    label: 'Seoul',
    region: 'Asia/Seoul',
  },
  {
    offset: 'UTC+09:00',
    label: 'Yakutsk',
    region: 'Asia/Yakutsk',
  },
  {
    offset: 'UTC+09:30',
    label: 'Adelaide',
    region: 'Australia/Adelaide',
  },
  {
    offset: 'UTC+09:30',
    label: 'Darwin',
    region: 'Australia/Darwin',
  },
  {
    offset: 'UTC+10:00',
    label: 'Brisbane',
    region: 'Australia/Brisbane',
  },
  {
    offset: 'UTC+10:00',
    label: 'Canberra, Melbourne, Sydney',
    region: 'Australia/Canberra',
  },
  {
    offset: 'UTC+10:00',
    label: 'Guam, Port Moresby',
    region: 'Pacific/Guam',
  },
  {
    offset: 'UTC+10:00',
    label: 'Hobart',
    region: 'Australia/Hobart',
  },
  {
    offset: 'UTC+10:00',
    label: 'Vladivostok',
    region: 'Asia/Vladivostok',
  },
  {
    offset: 'UTC+10:30',
    label: 'Lord Howe Island',
    region: 'Australia/Lord_Howe',
  },
  {
    offset: 'UTC+11:00',
    label: 'Bougainville Island',
    region: 'Pacific/Bougainville',
  },
  {
    offset: 'UTC+11:00',
    label: 'Chokurdakh',
    region: 'Asia/Srednekolymsk',
  },
  {
    offset: 'UTC+11:00',
    label: 'Magadan',
    region: 'Asia/Magadan',
  },
  {
    offset: 'UTC+11:00',
    label: 'Norfolk Island',
    region: 'Pacific/Norfolk',
  },
  {
    offset: 'UTC+11:00',
    label: 'Sakhalin',
    region: 'Asia/Sakhalin',
  },
  {
    offset: 'UTC+11:00',
    label: 'Solomon Islands, New Caledonia',
    region: 'Pacific/Guadalcanal',
  },
  {
    offset: 'UTC+12:00',
    label: 'Anadyr, Petropavlovsk-Kamchatsky',
    region: 'Asia/Anadyr',
  },
  {
    offset: 'UTC+12:00',
    label: 'Auckland, Wellington',
    region: 'Pacific/Auckland',
  },
  {
    offset: 'UTC+12:00',
    label: 'Fiji Islands',
    region: 'Pacific/Fiji',
  },
  {
    offset: 'UTC+12:45',
    label: 'Chatham Islands',
    region: 'Pacific/Chatham',
  },
  {
    offset: 'UTC+13:00',
    label: "Nuku'alofa",
    region: 'Pacific/Tongatapu',
  },
  {
    offset: 'UTC+13:00',
    label: 'Samoa',
    region: 'Pacific/Apia',
  },
  {
    offset: 'UTC+14:00',
    label: ' Kiritimati Island',
    region: 'Pacific/Kiritimati',
  },
];

Comments

-2

I realize my answer is late, but I just created a package about this:

https://github.com/UltiRequiem/timezones

import {
  randomTimeZone,
  timeZones,
} from "https://deno.land/x/timezones/mod.ts";

console.log(`My timezone is ${randomTimeZone()}.`);

const date = new Date();

for (const timeZone of timeZones) {
  console.log(timeZone, date.toLocaleString("en-US", { timeZone }));
}

Supports

  • Node.js

https://www.npmjs.com/package/@ultirequiem/timezones

  • Deno

https://deno.land/x/timezones

  • Browser

https://github.com/UltiRequiem/timezones#browser

Page: https://timezones.js.org

2 Comments

This answer is just a link to a library that can answer the question, with no information about how to use it to answer the question. While not spam, it is pretty close.
Hey! I just updated the answer to include a code example, thanks!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.