如何禁用moment.js日光时区转换

ua_*_*oaz 3 javascript datetime node.js angularjs momentjs

可以在moment.js中禁用日光时区转换吗?

http://plnkr.co/edit/MjFelt?p=preview

      $scope.obj.date = moment('2016-06-03T04:00:00.000Z');
Run Code Online (Sandbox Code Playgroud)

基本上我的应用程序只处理事件和日期,但转换夏令时的moment.js导致日期问题.是否有任何设置会在整个应用程序使用中禁用它?

Mag*_*int 8

如果你想要时刻显示你的日期和时间(这是UTC,如'Z'所示),那么你应该使用moment.utc:

moment.utc('2016-06-03T04:00:00.000Z').format()
"2016-06-03T04:00:00Z"
Run Code Online (Sandbox Code Playgroud)

当您使用默认矩构造函数时,就像现在一样,您想知道将UTC时间转换为当地时间的时刻,这就是您看到时差的原因.例如,在我的本地机器上(我目前是UTC-5),我得到以下内容:

moment('2016-06-03T04:00:00.000Z').format()
"2016-06-02T23:00:00-05:00"
Run Code Online (Sandbox Code Playgroud)

这个问题出现了很多,所以我写了这篇博文,解释了时刻的构造函数以及它如何详细转换ISO8601日期:https://maggiepint.com/2016/05/14/moment-js-shows-the-错误的日期/