指定的时区无效:US/Alaska、US/Arizona、US/Mountain、US/Central 等错误 Chrome 但在 Mozilla 中工作
Invalid time zone specified: US/Alaska, US/Arizona, US/Mountain, US/Central etc error in Chrome but working in Mozilla
我正在尝试将时间戳转换为不同时区的本地时间,发现某些时区在 Chrome (v76.0.38) 中不受支持,但在 Mozilla (v68.0.2) 中工作正常。
let d = new Date(1567083463);
let n = d.toLocaleString('en-GB', { timeZone: "US/Arizona" });
Uncaught RangeError: Invalid time zone specified: US/Arizona
at Date.toLocaleString ()
其他几个时区也抛出同样的错误
US/Alaska
US/Mountain
US/Central
US/East-Indiana
如其网站所述,这些时区得到官方支持
Chrome Supported Time Zone Values
该页面描述了另一个google产品支持的时区,不是Chrome。
参考MDN's documentation on toLocaleString
:
timeZone
The time zone to use. The only value implementations must recognize is "UTC"; the default is the runtime's default time zone. Implementations may also recognize the time zone names of the IANA time zone database, such as "Asia/Shanghai", "Asia/Kolkata", "America/New_York".
可以在 IANA link 找到有效的时区,或者您可以使用 Wikipedia: List of tz database time zones。您会注意到所有 "US/*" 时区都已 弃用 。仅使用来自维基百科页面的 Canonical 条目,例如:
- America/New_York
- America/Denver
- America/Chicago
等等
我正在尝试将时间戳转换为不同时区的本地时间,发现某些时区在 Chrome (v76.0.38) 中不受支持,但在 Mozilla (v68.0.2) 中工作正常。
let d = new Date(1567083463);
let n = d.toLocaleString('en-GB', { timeZone: "US/Arizona" });
Uncaught RangeError: Invalid time zone specified: US/Arizona
at Date.toLocaleString ()
其他几个时区也抛出同样的错误
US/Alaska
US/Mountain
US/Central
US/East-Indiana
如其网站所述,这些时区得到官方支持 Chrome Supported Time Zone Values
该页面描述了另一个google产品支持的时区,不是Chrome。
参考MDN's documentation on toLocaleString
:
timeZone
The time zone to use. The only value implementations must recognize is "UTC"; the default is the runtime's default time zone. Implementations may also recognize the time zone names of the IANA time zone database, such as "Asia/Shanghai", "Asia/Kolkata", "America/New_York".
可以在 IANA link 找到有效的时区,或者您可以使用 Wikipedia: List of tz database time zones。您会注意到所有 "US/*" 时区都已 弃用 。仅使用来自维基百科页面的 Canonical 条目,例如:
- America/New_York
- America/Denver
- America/Chicago
等等