【发布时间】:2018-09-30 13:38:01
【问题描述】:
我有一个来自 API 的 JavaScript 日期对象;但是当我使用 Moment 进行一些日期操作时,时区组件被搞砸了,结果日期现在使用 GMT 本地时间:
var d = new Date("2018-09-30T00:00:00+10:00");
var m1 = moment(d).toDate(); // 2018-09-29T14:00:000Z
var m2 = moment.utc(d).toDate(); // 2018-09-29T14:00:000Z
如何保留我的时区信息,以便在我开始添加天/小时等时,结果值保持在 +10:00 时区?
如果我查看在例如创建的 moment 对象Firefox 调试器,我可以看到m1 有_tzm:600 和_isUTC:false,而m2 有_tzm:600 和_isUTC:true 但在这两种情况下,包装的_d 是2018-09-29T14:00:000Z 而不是2018-09-30T00:00:00+10:00正如我所希望的那样。
如果我打电话:
var m3 = moment(d).format(); // 2018-09-03T00:00:00+10:00
然后一切正常,但现在我有一个 string 而不是 Date 对象
【问题讨论】:
标签: javascript datetime momentjs