从今天起我发现我的服务器上运行的一个webapps出现了问题,因为它报告时区错误 - 但仅限于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错误地认为这不正确吗?我是新鲜的想法。
在谷歌搜索没有提出任何关于此的最新提示(只有一些过时的,例如: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%
我想我已经配置为位于奥地利的欧洲/维也纳而不是欧洲/柏林?
附录:到目前为止,我只能在一台Windows 10计算机上获得此行为。在运行Firefox的另一台Linux机器上,我没有看到这种行为。我还要检查另一台Windows 10机器
答案 0 :(得分:1)
这里有两个不同的问题:
Etc/GMT-1
这应该是什么意思?我在GMT + 1 ......
Etc/GMT±*
形式的tz数据库标识符故意与我们在ISO 8601下预期的形式相反。也就是说,它们的正值是GMT的西方,而不是正值。格林威治标准时间以东这在the Wikipedia article on the tz database和the commentary in the tz database itself中均有介绍。
因此,它确实与您所在时区的当前GMT + 1偏移量保持一致。但是,它没有反映任何GMT + 2的DST。
...在Chrome上,上述命令正确返回
Europe/Vienna
。 ......这是Firefox的错误吗?
这取决于。您的操作系统时区设置为什么?你说你正在运行Windows 10.虽然Europe/Vienna
maps to W. Europe Standard Time
,但它的主要(001)映射是Europe/Berlin
- 所以你得到的有点奇怪Europe/Vienna
除非有其他因素影响结果。
您可能偶然发现了一个错误,但您也可能在操作系统上设置了自定义或损坏的时区设置。
请提供(通过编辑您的问题)以下值:
tzutil /g
命令的输出。TZ
环境变量(echo %TZ%
)HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
这将有助于进一步确定问题。我会相应地编辑我的答案。感谢。