由于时间和时区可能有点令人困惑,首先,我偶然发现了一些与 JavaScript 和 macOS High Sierra 时间有关的真正奇怪的事情。
当我试图弄清楚如何准确表达我的问题时,也许更容易证明:
在 Chrome 中打开 javascript 控制台并输入:
new Date(); // result will be something like Tue Jan 02 2018 16:20:14 GMT-0700 (MST)
现在打开日期和时间偏好并切换您的时区(任何不同的地方)。
现在在 Chrome 控制台中(刷新之前或之后)输入:
new Date(); // result will be something like ue Jan 02 2018 23:23:29 GMT+0000 (UTC)
请注意,根据偏移量,时间实际上是准确的,但问题是,如果您将时区切换回,它仍然坚持使用 GMT+000 (UTC)。除非完全重置系统,否则页面(实际上是标签)似乎会停留在 UTC 上。
我在 Firefox 中重现了类似的症状,这让我认为这是一个操作系统级别的异常。
我遇到这个问题是因为它似乎影响了我遇到的几个网站上的日期/时间选择器。
这是已知的 Mac High Sierra 错误还是预期/接受的行为?由于它似乎超越了浏览器,我觉得它一定是在操作系统级别。
这一直是那些“嘿,到底发生了什么”的问题之一……而“嘿”并不是我的同事们听到的那个词……