date.getTimezoneOffset()未返回预期值



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

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

来自Mozilla文档(或devdocs.io):

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

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

我同意这不是一个很好的表达方式——我更习惯于偏移量是"你添加到UTC以获得当地时间的时间量",但它至少表现得像文档中记录的那样。。。

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

根据MDN对功能的参考描述:

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

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

相关内容

  • 没有找到相关文章

最新更新