我的服务器有一个JSON响应,只需几秒钟即可获得UTC Unix时间戳。我正在将其解析为将在图表中使用的JavaScript日期(在用户的语言环境中显示时间)。
我显然必须将我的时间戳(以UTC格式)哄骗到浏览器的语言环境中,所以我写了一个函数,在浏览器的语言环境中创建一个新的Date
,在其上调用getTimezoneOffset()
得到根据{{3}},当前语言环境中的“以分钟为单位的偏移量”将两者都转换为毫秒,并返回总和。现在我在用户的语言环境中有一个JavaScript友好的Unix时间戳。
但是,我没有。
事实证明,(new Date()).getTimezoneOffset()
在GMT-5中返回(正)300,在GMT + 2中返回-120。为什么偏移是倒置的?我原以为偏移量与时区的符号相符 - 即:我需要减去300分钟才能达到GMT-5,并且需要120分钟才能达到GMT + 2。相反,我必须减去getTimezoneOffset
答案 0 :(得分:6)
不。
15.9.5.26 Date.prototype.getTimezoneOffset()
以分钟为单位返回本地时间和UTC时间之间的差异。
- 让 t 成为这个时间值。
- 如果 t 是NaN,请返回NaN。
- 返回( t - LocalTime(t))/ msPerMinute 。
醇>