javascript – Date.getTimezoneOffset倒置?
作者:互联网
我的服务器有一个JSON响应,在几秒钟内给出了我的UTC Unix时间戳.我正在将其解析为将在图表中使用的JavaScript日期(在用户的语言环境中显示时间).
我显然必须将我的时间戳(以UTC格式)哄骗到浏览器的语言环境中,所以我编写了一个函数,在浏览器的语言环境中创建一个新的Date,在其上调用getTimezoneOffset()以获得当前的“以分钟为单位的偏移量” locale,根据the 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 ( )
Returns the difference between local time and UTC time in minutes.
- Let t be this time value.
- If t is NaN, return NaN.
- Return (t − LocalTime(t)) / msPerMinute.
标签:javascript,date,timezone-offset 来源: https://codeday.me/bug/20190517/1123217.html