概述
Date() 函数返回一个日期字符串或者一个 Date 对象。
- 在 mongo shell 中 Date() 以字符串的形式返回当前日期
- new Date() 以 Date 对象的形式返回当前日期。mongo shell 通过 ISODate helper 封装 Date 对象。
你可以通过传入 datetime 字符串到 Date() 方法获得特定的日期,例:
- new Date(“<YYYY-mm-dd>”) 返回指定日期的 ISODate。
- new Date(“<YYYY-mm-ddTHH:MM:ss>”) 指定一个本地日期并返回该日期的 UTC ISODate。
- new Date(“<YYYY-mm-ddTHH:MM:ssZ>”) 指定一个 UTC 日期并返回该日期的 UTC ISODate。
行为
在底层,Date 对象会以64位整形的形式存储,表示从 Unix 元年(1970-01-01)以来的毫秒数,该值可容纳的日期范围是2.9亿年。
例子
在查询中使用日期:
如果在 products 集合中没有 _id 为 1 的文档,下面的操作将会插入一个包含 dateAdded 字段的文档,该字段的值为当前日期:
db.products.update(
{ _id: 1 },
{
$set: { item: "apple" },
$setOnInsert: { dateAdded: new Date() }
},
{ upsert: true }
)
返回一个日期字符串
可以使用 Date() 方法返回一个日期字符串:
var myDateString = Date();
返回 Date 对象
mongo shell 通过 ISODate helper 封装 Date 对象;该对象仍然是 Date 类型。
下面的例子使用 new Date() 来返回一个指定了 UTC 时间的 Date 对象。
var myDate = new Date("2016-05-18T16:00:00Z");