date.getTimezoneOffset()未返回预期值

时间:2015-11-11 21:15:01

标签: javascript date timezone

我的浏览器在东部标准时区运行,当我调用date.getTimezoneOffset()时,我希望返回-300但是我得到300

var date = new Date();
date.getTimezoneOffset();
// returns 300

2 个答案:

答案 0 :(得分:2)

来自the Mozilla docs(或devdocs.io):

  

返回值
  时区偏移是UTC与本地时间之间的差异(以分钟为单位)。 请注意,这意味着如果本地时区落后于UTC,则偏移为正,如果超前,则偏移为负。例如,如果您的时区为UTC + 10(澳大利亚东部标准时间),则为-600将被退回。夏令时可以防止该值即使对于给定的区域设置也是常量。

EST 落后于 UTC,因此您获得了积极的结果。

我同意这不是一个表达它的好方法 - 我更习惯于“你为了获得当地时间而增加到UTC的时间”的偏移量,但它至少表现得如同记录...... / p>

答案 1 :(得分:0)

这是从UTC到您所在时区的分钟差异.UTC - EST = 300。

来自MDN的功能参考说明:

  

时区偏移是UTC与本地时间之间的差异(以分钟为单位)。请注意,这意味着如果本地时区落后于UTC,则偏移量为正,如果前置,则偏移量为负。例如,如果您的时区是UTC + 10(澳大利亚东部标准时间),则将返回-600。夏令时可以防止该值即使对于给定的区域设置也是常量。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset