Intl.Locale.prototype.getTimeZones()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
The getTimeZones()
method of Intl.Locale
instances returns a list of supported time zones for this locale.
Note:
In some versions of some browsers, this method was implemented as an accessor property called timeZones
. However, because it returns a new array on each access, it is now implemented as a method to prevent the situation of locale.timeZones === locale.timeZones
returning false
. Check the browser compatibility table for details.
Syntax
getTimeZones()
Parameters
None.
Return value
An array of strings representing supported time zones for the associated Locale
, where each value is an IANA time zone canonical name, sorted in alphabetical order. If the locale identifier does not contain a region subtag, the returned value is undefined
.
Note that while the IANA database changes from time to time, the Unicode CLDR database (which browsers use) keeps old time zone names for stability purposes. For example, here are a few notable name changes:
Current IANA name | CDLR database |
---|---|
America/Argentina/Buenos_Aires |
America/Buenos_Aires |
Asia/Kolkata |
Asia/Calcutta |
Asia/Ho_Chi_Minh |
Asia/Saigon |
Europe/Kyiv |
Europe/Kiev |
Some browsers (Firefox) override these legacy names, while others don't (Safari and Chrome). For more information, check the CLDR database. (IANA names are marked with "_iana"
, if different.) There is an effort in TC39 to properly handle these canonical identifiers, which also contains links to related CLDR issues.
Examples
Obtaining supported time zones
List supported time zones for a given Locale
.
const arEG = new Intl.Locale("ar-EG");
console.log(arEG.getTimeZones()); // ["Africa/Cairo"]
const jaJP = new Intl.Locale("ja-JP");
console.log(jaJP.getTimeZones()); // ["Asia/Tokyo"]
const ar = new Intl.Locale("ar");
console.log(ar.getTimeZones()); // undefined
Specifications
Specification |
---|
Intl Locale Info Proposal # sec-Intl.Locale.prototype.getTimeZones |
Browser compatibility
BCD tables only load in the browser
See also
Intl.Locale
- IANA time zone database on Wikipedia