node.js mongodb 检索 ISODate 格式

标签 node.js mongodb date

在 mongodb 中日期的值为:

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

在带有 Mongoose 的 Node 中,我检索日期并具有以下值:

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 个月。

谢谢

最佳答案

JavaScript Date.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) + //...

关于node.js mongodb 检索 ISODate 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14838369/

相关文章:

mongoDB,无法从配置文件中读取——不同文件夹中的配置/卸载它?

sorting - 如何对 EXTJS 中的日期列进行排序

R 按日期分组,并总结值

Javascript:如何以毫秒计算一天的开始?

javascript - 如何在 bitbucket pipelines.yml 文件中编写条件语句?

python - Windows 8 : `node-gyp rebuild` Exit status 1 installing contextify as dependency of zombie

javascript - 带 promise 的 Koa.js 请求挂起

php - 确保多维数组上的索引索引 mongodb 字段的正确方法是什么?

javascript - 如何根据两个字段的差异对集合进行排序?

javascript - 处理 JavaScript 中两层之间的错误