从今天开始,我注意到我的服务器上运行的一个 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%
我想我得到的是 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/