我只想添加一天,然后使用Moment.Js在新的一天代表12:00 AM。但是,每当我执行此操作然后保存它时,MongoDB会将日期返回为Invalid Date
...为什么?
date = new Date(Date.UTC(2000, 2, 13));
date = moment.utc( date );
date = date.add(1, 'd');
保存之前,日期看起来像这样:date: Sun Feb 13 2000 16:00:00 GMT-0800 (PST)
日期在我的数据库中的显示方式:2000-02-14 00:00:00.000Z
但是,从数据库中提取时它显示为无效:
{
date: "Invalid Date"
day: "02/13/2000"
full_date: "02/13/2000 24"
hour: "24"
}
此外,如此构建的所有日期都会产生Invalid Dates
答案 0 :(得分:1)
2000-02-14 00:00:00.000Z
在Javascript中不是有效的日期格式。
YYYY-MM-DDTHH:mm:ss.sssZ
参考date。
在时间元素中缺少T
。
在您的控制台中尝试此操作:
>> (new Date("2000-02-14 00:00:00.000Z")).toString()
<< "Invalid Date"
VS
>> (new Date("2000-02-14T00:00:00.000Z")).toString()
<< "Mon Feb 14 2000 01:00:00 GMT+0100 (CET)"
请注意,有些浏览器接受前者,例如Chrome,但它不是标准的,因此会像往常一样痛苦。
Firefox在日期上相当严格。