【发布时间】:2014-06-14 23:18:35
【问题描述】:
每当我使用 moment.js 和 node 解析日期时,它都比它应该的时间晚了 12 个小时。考虑以下测试:
var moment = require('moment');
var dt1 = moment('14:00, 10 Jun 2014', 'HH:mm, DD MMM YYYY').toDate();
console.log('dt1:' + JSON.stringify(dt1, null, 4));
var dt2 = moment('02:00, 10 Jun 2014', 'HH:mm, DD MMM YYYY').toDate();
console.log('dt2:' + JSON.stringify(dt2, null, 4));
它给出了输出:
dt1:"2014-06-10T02:00:00.000Z"
dt2:"2014-06-09T14:00:00.000Z"
它几乎就像它使用一些疯狂的时区解析它,而不仅仅是按照我的意愿解析我当地时区的日期,我认为这将是默认行为。
我怎样才能让它正常工作?
【问题讨论】:
-
输出中的
Z代表Zulu or UTC time 并包含在内,因为Dates 是stringified withtoISOString()。 -
我要做的就是解析上面相当奇怪的文本日期,然后将其作为 DateTime 字段输入 MongoDB。如果你能解释一下如何让当地日期暂时消失,我会接受它作为答案
标签: javascript node.js momentjs