Javascript getTimezoneOffset vs moment utcOffset

时间:2015-11-24 10:15:40

标签: javascript date datetime momentjs

我很惊讶new Date().getTimezoneOffset()返回moment().utcOffset()

的反面

示例:

  • 时区UTC +08:00香港
    • JS:-480
    • 时刻:480
  • 时区UTC -06:00中美洲
    • JS:360
    • 时刻:-360
  • 时区UTC伦敦
    • JS:0
    • 时刻:-0

问题:
如果我是正确的,则momentjs返回正确的值。那么为什么Javascript new Date().getTimezoneOffset()会返回相反的时区偏移?

2 个答案:

答案 0 :(得分:4)

  

时区偏移是UTC和之间的差异,以分钟为单位   当地时间。请注意,这意味着如果偏移是正数   当地时区落后于UTC,如果未来则为负。例如,   如果您的时区是UTC + 10(澳大利亚东部标准时间), - 600   将被退回。

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

答案 1 :(得分:1)

接受的答案解释了 get_field 的作用,但 Moment.js 文档明确描述了时刻 getTimezoneOffset 和日期 utcOffset 之间的区别。

<块引用>

注意:与 moment.fn.zone 不同,此函数返回 UTC 的实际偏移量,而不是反向偏移量(由 Date.prototype.getTimezoneOffset 返回)。

来源:https://momentjs.com/docs/#/manipulating/utc-offset/