7

我的服务器收到 JSON 响应,以秒为单位提供 UTC Unix 时间戳。我将其解析为将在图表中使用的 JavaScript 日期(在用户的语言环境中显示时间)。

Date根据_ getTimezoneOffset()_ MDN,将两者都转换为毫秒,并返回总和。现在我在用户的语言环境中有一个 JavaScript 友好的 Unix 时间戳。

但是,我没有。

事实证明,(new Date()).getTimezoneOffset()在 GMT-5 中返回(正)300,在 GMT+2 中返回 -120。为什么偏移量会反转?我本来希望偏移量与时区的符号相匹配 - 即:我需要减去 300 分钟才能到达 GMT-5,并添加 120 分钟才能到达 GMT+2。相反,我必须减去返回的值getTimezoneOffset

4

1 回答 1

8

没有。

规范(§15.9.5.26)说:

15.9.5.26 Date.prototype.getTimezoneOffset()

以分钟为单位返回本地时间和 UTC 时间之间的差异。

  1. t为该时间值。
  2. 如果t是 NaN,则返回 NaN。
  3. 返回 ( t - LocalTime(t)) / msPerMinute
于 2013-02-03T04:31:03.337 回答