1

在 mongodb 中,日期的值是:

"date" : ISODate("2012-10-11T07:00:00Z")

在带有猫鼬的节点中,我检索日期并具有以下值:

entry.date = 2012-10-11T07:00:00.000Z

因此,在我的代码中,我执行以下操作:

var date = new Date(entry.date);
var format = date.getMonth() + '/' + date.getDate() + '/' + date.getFullYear();

我得到输出:

9/11/2012

这有什么问题?
我原以为输出会是:10/11/2012

我知道月份从日期的 0-11 开始。但既然我从日期格式中获取它,为什么我必须减去 1 个月。

谢谢

4

1 回答 1

1

JavaScriptDate.getMonth()是从零开始的,而不是从一开始的。

“日期”变量是一个Date,而不是您怀疑的“日期格式”(JavaScript 没有这样的概念)。

var dateStr = '2012-10-11T07:00:00.000Z';
var date = new Date(dateStr); // Thu Oct 11 2012 01:00:00 GMT-0600 (MDT)
date.getMonth(); // => 9 (October)

试试这个:

var format = (date.getMonth()+1) + //...
于 2013-02-12T17:41:30.127 回答