我正在尝试将时间戳转换为各个时区的本地时间,发现某些TimeZone在Chrome(v76.0.38)中不支持,但在Mozilla(v68.0.2)中工作正常。

  let d = new Date(1567083463);
  let n = d.toLocaleString('en-GB', { timeZone: "US/Arizona" });


其他几个时区也引发相同的错误US/AlaskaUS/MountainUS/CentralUS/East-Indiana这些时区得到官方支持,如其网站中所述
Chrome Supported Time Zone Values

最佳答案

该页面描述了另一个Google产品而不是Chrome 支持的时区。

引用MDN's documentation on toLocaleString :



可以在该IANA链接上找到有效的时区,也可以使用Wikipedia: List of tz database time zones。您会注意到所有“US / *”时区均已弃用。仅使用Wikipedia页面上的Canonical条目,例如:

  • 美国/纽约
  • 美国/丹佛
  • 美国/芝加哥

  • 等等

    10-07 21:13