Intl.Locale.prototype.getTimeZones()

Intl.Locale 实例的 getTimeZones() 方法返回此区域设置支持的时区列表。

¥The getTimeZones() method of Intl.Locale instances returns a list of supported time zones for this locale.

注意:在某些浏览器的某些版本中,此方法被实现为名为 timeZones 的访问器属性。但是,由于每次访问时都会返回一个新数组,因此现在将其实现为一种方法,以防止出现 locale.timeZones === locale.timeZones 返回 false 的情况。检查 浏览器兼容性表 了解详细信息。

¥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

js
getTimeZones()

参数

¥Parameters

没有任何。

¥None.

返回值

¥Return value

表示关联 Locale 支持的时区的字符串数组,其中每个值都是 IANA 时区规范名称,按字母顺序排序。如果区域设置标识符不包含区域子标签,则返回值为 undefined

¥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.

请注意,虽然 IANA 数据库会不时更改,但 Unicode CLDR 数据库(浏览器使用)保留旧时区名称以保证稳定性。例如,以下是一些值得注意的名称更改:

¥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:

当前 IANA 名称 CDLR 数据库
America/Argentina/Buenos_Aires America/Buenos_Aires
Asia/Kolkata Asia/Calcutta
Asia/Ho_Chi_Minh Asia/Saigon
Europe/Kyiv Europe/Kiev

有些浏览器(Firefox)会覆盖这些旧名称,而其他浏览器则不会(Safari 和 Chrome)。有关更多信息,请查看 CLDR 数据库。(如果不同,IANA 名称将标记为 "_iana"。)有 TC39 中为正确处理这些规范标识符所做的努力,其中还包含指向相关 CLDR 问题的链接。

¥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

列出给定 Locale 支持的时区。

¥List supported time zones for a given Locale.

js
const arEG = new Intl.Locale("ar-EG");
console.log(arEG.getTimeZones()); // ["Africa/Cairo"]
js
const jaJP = new Intl.Locale("ja-JP");
console.log(jaJP.getTimeZones()); // ["Asia/Tokyo"]
js
const ar = new Intl.Locale("ar");
console.log(ar.getTimeZones()); // undefined

规范

Specification
Intl Locale Info Proposal
# sec-Intl.Locale.prototype.getTimeZones

¥Specifications

浏览器兼容性

BCD tables only load in the browser

¥Browser compatibility

也可以看看

¥See also