Tho*_*nes 5 javascript date timezone-offset
我的服务器有一个JSON响应,在几秒钟内给出了我的UTC Unix时间戳.我正在将其解析为将在图表中使用的JavaScript日期(在用户的语言环境中显示时间).
我显然必须将我的时间戳(以UTC格式)哄骗到浏览器的语言环境中,因此我编写了一个Date在浏览器的语言环境中创建新函数的函数,调用getTimezoneOffset()它来获取当前语言环境中的"以分钟为单位的偏移量",按照MDN,将两者都转换为毫秒,并返回总和.现在我在用户的语言环境中有一个JavaScript友好的Unix时间戳.
但是,我没有.
事实证明,(new Date()).getTimezoneOffset()在GMT-5中返回(正)300,在GMT + 2中返回-120.为什么偏移是倒置的?我原以为偏移量与时区的符号相符 - 即:我需要减去300分钟才能达到GMT-5,并且需要120分钟才能达到GMT + 2.相反,我必须减去返回的值getTimezoneOffset
不.
15.9.5.26 Date.prototype.getTimezoneOffset()
返回本地时间和UTC时间之间的差异(以分钟为单位).
- 设t为这个时间值.
- 如果t是NaN,则返回NaN.
- 返回(t - LocalTime(t))/ msPerMinute.