gpt4 book ai didi

javascript - 使用 Intl API 获取时区在 Firefox : 中不起作用

转载 作者:可可西里 更新时间:2023-11-01 02:57:54 24 4
gpt4 key购买 nike

我正在使用 Intl API .在 Chrome 中:

 Intl.DateTimeFormat().resolved.timeZone

返回“欧洲/伦敦”

在 Firefox 中这返回 undefined,即使 Firefox supports Intl .

如何使用 Firefox 获取时区?

最佳答案

从技术上讲,更正确的咒语是:

Intl.DateTimeFormat().resolvedOptions().timeZone

遗憾的是,目前并非所有实现都支持 Intl API 的时区功能。因此,虽然这会在 Chrome 中返回一个有效的 IANA 时区,但它不会在 FireFox 和其他几个浏览器中这样做。

kangax Intl compatibility table将此功能显示为标记为 resolvedOptions() 的 DateTimeFormat 对象下的子项。timeZone 默认为主机环境

查看以下 FireFox 工作项:

  • Bug 1158733 - 从 Javascript 国际化 API 检测系统时区
  • Bug 895737 - DateTimeFormat 不跟踪当前时区
  • Bug 837961 - 向国际化 API 添加对 IANA 时区名称的支持

同时,有两个可行的选择:

请注意,在尝试其他猜测算法之前,如果 Intl API 可用且正常运行,这两者都会在内部尝试使用它。

另请注意,最佳做法是永远不要仅仅依赖时区检测/猜测,而是使用它从时区选择器控件中选择一个合理的默认值。总是给用户一些方式来选择他们想要的时区。这一点很重要,因为他们目前在计算机上设置的时区可能是也可能不是他们希望在您的应用程序中使用的时区。例如,基于 Web 的日历软件(例如 Google Calendar 或 Outlook.com)通常允许用户在其用户配置文件中设置时区。

关于javascript - 使用 Intl API 获取时区在 Firefox : 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37798404/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com