我的浏览器在东部标准时区运行,当我调用date.getTimezoneOffset()时,我希望返回-300但是我得到300
var date = new Date();
date.getTimezoneOffset();
// returns 300
答案 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。夏令时可以防止该值即使对于给定的区域设置也是常量。