问题描述
我正在尝试将时间戳转换为各个时区的本地时间,发现某些TimeZone在Chrome(v76.0.38)中不支持,但是在Mozilla(v68.0.2)中运行良好.
I am trying to convert timestamp in to various time zone's local time and found certain TimeZone are not supporting in Chrome (v76.0.38) but working fine in Mozilla (v68.0.2).
let d = new Date(1567083463);
let n = d.toLocaleString('en-GB', { timeZone: "US/Arizona" });
在Date.toLocaleString()
at Date.toLocaleString ()
其他几个时区也抛出相同的错误
Several other timezones are also throwing the same error
US/Alaska
US/Mountain
US/Central
US/East-Indiana
这些时区得到官方支持,如其网站中所述 Chrome支持的时区值
These timezones are officially supported as mentioned in their websiteChrome Supported Time Zone Values
推荐答案
该页面描述了另一种Google产品(不是Chrome )支持的时区.
That page describes timezones supported by another google product, not Chrome.
请参阅toLocaleString
上的 MDN的文档:
可以在该IANA链接上找到有效时区,也可以使用 Wikipedia:tz数据库时间列表区域.您会注意到,所有"US/*"时区均已被弃用.仅使用Wikipedia页面上的 Canonical 条目,例如:
Valid time zones can be found at that IANA link, or you can use Wikipedia: List of tz database time zones. You'll notice that all of the "US/*" timezones are deprecated. Use only Canonical entries from the Wikipedia page, such as:
- 美国/纽约
- 美国/丹佛
- 美国/芝加哥
等
这篇关于指定的时区无效:Chrome中的美国/阿拉斯加,美国/亚利桑那州,美国/山地,美国/中部等错误,但在Mozilla中有效的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!