【问题标题】:Moment timezone and DST时刻时区和 DST
【发布时间】:2019-05-06 05:49:17
【问题描述】:

我正在使用此代码获取特定时区的 GMT 时差:

var TimeZone = 'America/New_York';
console.log('GMT Offset  ' + moment().tz(TimeZone).utcOffset().toString());

此代码是否也将 DST 考虑在内?

【问题讨论】:

    标签: node.js timezone momentjs dst


    【解决方案1】:

    是的,moment.tz() 支持夏令时。 docs 对此非常明确:

    moment.tz 构造函数采用与矩构造函数相同的所有参数,但使用最后一个参数作为time zone identifier
    ...
    此构造函数可识别 DST,并在解析时使用正确的偏移量。

    var TimeZone = 'America/New_York';
    console.log('Winter GMT Offset  ' + moment.tz('2018-12-04', TimeZone).utcOffset()/60);
    console.log('Summer GMT Offset  ' + moment.tz('2018-06-04', TimeZone).utcOffset()/60);
    <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.23/moment-timezone-with-data-2012-2022.min.js"></script>

    【讨论】:

      猜你喜欢
      • 2011-04-17
      • 1970-01-01
      • 2013-03-05
      • 2012-07-23
      • 2016-01-31
      • 2019-04-06
      • 1970-01-01
      • 1970-01-01
      • 2013-03-13
      相关资源
      最近更新 更多