时刻时区和 DST
Posted
技术标签:
【中文标题】时刻时区和 DST【英文标题】:Moment timezone and DST 【发布时间】:2019-05-06 05:49:17 【问题描述】:我正在使用此代码获取特定时区的 GMT 时差:
var TimeZone = 'America/New_York';
console.log('GMT Offset ' + moment().tz(TimeZone).utcOffset().toString());
此代码是否也将 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>
【讨论】:
以上是关于时刻时区和 DST的主要内容,如果未能解决你的问题,请参考以下文章