gpt4 book ai didi

javascript - 为什么 Chrome、Safari 和 Firefox 中的 getTimezoneOffset() 和 toLocaleString() 假定新加坡位于 GMT+7.30 时区?

转载 作者:行者123 更新时间:2023-11-28 07:46:13 25 4
gpt4 key购买 nike

仅提供一些背景信息:我使用的是 OS X 10.9.5,我的时区设置为新加坡标准时间(GMT+8 - 我们这里没有夏令时,我相信我们过去从未有过夏令时)好吧,由于新加坡紧邻赤道,因此日光几乎没有季节差异)。

当我在 Firefox 控制台上尝试以下 JavaScript 时,我得到的是:

> new Date(0).toLocaleString()
< "01/01/1970 7:30:00 am"
> new Date(0).getTimezoneOffset()
< -450

Firefox 似乎将我的时区误认为是 GMT+7.30。

当我在 Safari 和 Chrome 控制台中尝试相同的操作时,这就是我得到的结果(对于两者):

> new Date(0).toLocaleString()
< "1 January, 1970 7:30:00 am GMT+7:30"
> new Date(0).getTimezoneOffset()
< -480

再次,Safari 和 Chrome 中的 toLocaleString() 似乎将时区误认为是 GMT+7.30;然而 getTimezoneOffset() 是正确的。

这些行为是分别在 Firefox、Safari 和 Chrome 中设计的(即它们背后有一个原因),还是只是错误?

最佳答案

日期是用 0 构造的,因此会产生 1970historically 中的日期。 :

Singapore Standard Time
Time offset from GMT: UTC+07:30
Period in use: 12 September 1945 - 31 December 1981

所以字符串表示是正确的。

至于 getTimezoneOffset 差异,我认为 Firefox 使用了正确的行为;请参阅(Chrome)Issue 3547: timezone offset is incorrect for the past/future date for a timezone whose offset has changed over time (e.g. Europe/Moscow, America/Indiana)

关于javascript - 为什么 Chrome、Safari 和 Firefox 中的 getTimezoneOffset() 和 toLocaleString() 假定新加坡位于 GMT+7.30 时区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27407424/

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