javascript - Firefox 中的奇怪时区 "Etc/GMT-1"

标签 javascript firefox timezone owncloud

从今天开始,我注意到我的服务器上运行的一个 web 应用程序存在问题,因为它报告时区错误 - 但仅限于 Firefox

确实,检查控制台:

Intl.DateTimeFormat().resolvedOptions().timeZone

交付

Etc/GMT-1

这是什么意思?我在 GMT+1(当计算当前有效的夏令时时为 +2)时区。 在 Chrome 上,上述命令正确返回 Europe/Vienna

操作系统:Windows 10,Firefox 版本:59.0.2(64 位),带有附加组件:NoScript、PrivacyBadger、uBlock Origin(尝试禁用附加组件,无变化)、Chrome 65.0.3325.181(64 位)

这是 Firefox 的错误吗(尽管据我所知,Firefox 在过去几天没有更新,而且问题是今天才开始出现的)? 据我所知,在 webapp 中也没有任何变化,所以我怀疑这是 Firefox 的问题(尽管我不知道 Firefox 如何获得这个“错误”的时区信息)。还是时区实际上正确地引用了比 UTC 早 2 小时的时间? webapp mabye 是否错误地没有正确识别这一点?我没有想法。

在 google 中搜索没有提出任何关于此的最新提示(只有一些过时的提示,例如: Incorrect timezone in Firefox, compared to Safari, using javascript Date()https://support.mozilla.org/de/questions/1191823 )。我也找不到任何其他指向 Firefox 当前不寻常的时区读数的东西,所以我真的很想知道这是从哪里来的!

更新:

老实说,我不知道 firefox 之前报告的时区是什么 - 我遇到的实际问题是 webapp (owncloud) 在 Firefox 中运行时,报告不知道时区规范 - 消息转换为“未知时区规范 Etc/GMT-1。回到 UTC”。然后时间比我预期的时间晚了 2 小时(这是有道理的,因为当前的欧洲/维也纳或欧洲/柏林时间比 UTC 时间早 2 小时)。不知道如何解释 Etc/GMT-1 可能是 owncloud 的问题,但直到几天前它才开始工作,并且仍然继续在 Chrome 上工作...

下面是 Matt Johnson 要求的更多信息:

>tzutil /g
W. Europe Standard Time

>echo %TZ%
%TZ%

注册表: TimeZoneInformation registry key content

我想我得到的是 Europe/Vienna 而不是 Europe/Berlin,因为我已配置为位于奥地利?

附录:到目前为止,我只在一台 Windows 10 机器上遇到过这种行为。在另一台运行 Firefox 的 Linux 机器上,我没有看到这种行为。我还需要检查另一台 Windows 10 机器

最佳答案

这里有两个不同的问题:

Etc/GMT-1
What's this supposed to mean? I am in a GMT+1 ...

形式为 Etc/GMT±* 的 tz 数据库标识符故意有一个倒置的符号,而不是我们在 ISO 8601 下期望的通常形式。也就是说,它们是正值的西方GMT,而不是 GMT 以东的正值。这在 the Wikipedia article on the tz database 中都有介绍。 ,并在 the commentary in the tz database itself .

因此,它确实与您所在时区的当前 GMT+1 偏移量一致。但是,它不反射(reflect) GMT+2 的任何 DST。

... On Chrome, the above command correctly returns Europe/Vienna. ... Is this a Firefox bug?

这取决于。您的操作系统时区设置为什么?你说你运行的是 Windows 10。尽管 Europe/Vienna maps to W。欧洲标准时间,主要 (001) 映射为 Europe/Berlin - 所以你会得到 Europe/Vienna 有点奇怪,除非有是影响结果的其他因素。

您可能偶然发现了错误,但也有可能您在操作系统上自定义或损坏了时区设置。

请提供(通过编辑您的问题)以下值:

  • tzutil/g 命令在命令行上的输出。
  • TZ 环境变量的值(如果有)(echo %TZ%)
  • 此注册表项下的所有值(最好有屏幕截图): HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation

这将有助于进一步确定问题。我将相应地编辑我的答案。谢谢。

关于javascript - Firefox 中的奇怪时区 "Etc/GMT-1",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49916815/

相关文章:

javascript - Joi 在验证 mongoose 对象时抛出错误 -

javascript - Angular 5 + Keycloak 允许匿名用户

javascript - Greasemonkey 脚本用于在非事件选项卡上暂停视频播放

java - 夏令时 至 标准时区

javascript - 将对象映射到接口(interface)并删除所有不存在的键

javascript - bx-slider 左右滑动手势支持

javascript - 在 safari 中调整滚动标题的大小效果很好,但在 chrome 和 firefox 上会变得不稳定

Javascript正则表达式跨浏览器差异

java - 基于位置的时区检索

php - 在不更改 php 时区设置的情况下转换为 UTC