javascript - 如何禁用 moment.js 夏令时区转换

标签 javascript angularjs node.js datetime momentjs

可以在 moment.js 中禁用夏令时转换吗?

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

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

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

最佳答案

如果您说您想要 moment 显示您的日期和时间(UTC,如“Z”所示),那么您应该使用 moment.utc:

moment.utc('2016-06-03T04:00:00.000Z').format()
"2016-06-03T04:00:00Z"

当您使用默认的 moment 构造函数时,就像您现在这样,您告诉 moment 将您的 UTC 时间转换为本地时间,这就是您看到时差的原因。例如,在我的本地机器上(我目前是 UTC-5)我得到以下信息:

moment('2016-06-03T04:00:00.000Z').format()
"2016-06-02T23:00:00-05:00"

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

关于javascript - 如何禁用 moment.js 夏令时区转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37797893/

相关文章:

node.js - 在 Node.js 中处理多个并行 HTTP 请求

node.js - NodeJS/Express MVC 模式中的 REST 数据源

javascript - 关闭第二个模态后焦点错误

javascript - 将 div 移动到 svg map 上的坐标

javascript - AngularJS 范围和 tab 指令

javascript - 添加另一层时自动删除先前的多边形(geojson 层)传单?

javascript - jquery 对话框小部件未传递我的表单值

javascript - 如何缩小Lit-HTML(包括注释)

angularjs - ng-map:单击时如何获取 Marker 对象?

node.js - 如何在 Heroku 上使用 Selenium Webdriver?