Date()

On this page本页内容

Date()

Returns a date either as a string or as a Date object.以字符串或Date对象的形式返回日期。

  • Date() returns the current date as a string in mongosh.mongosh字符串形式返回当前日期。
  • new Date() returns the current date as a Date object. 将当前日期作为Date对象返回。mongosh wraps the Date object with the ISODate helper. 使用ISODate辅助对象包装Date对象。The ISODate is in UTC.ISODateUTC为标准。

You can specify a particular date by passing an ISO-8601 date string with a year within the inclusive range 0 through 9999 to the new Date() constructor or the ISODate() function. 您可以通过向新的date()构造函数或ISODate()函数传递一个ISO-8601日期字符串来指定特定日期,该字符串的年份在09999之间。These functions accept the following formats:这些函数接受以下格式:

  • new Date("<YYYY-mm-dd>") returns the ISODate with the specified date.返回指定日期的ISODate
  • new Date("<YYYY-mm-ddTHH:MM:ss>") specifies the datetime in the client's local timezone and returns the ISODate with the specified datetime in UTC.指定客户端本地时区中的日期时间,并返回以UTC表示的指定日期时间的ISODate
  • new Date("<YYYY-mm-ddTHH:MM:ssZ>") specifies the datetime in UTC and returns the ISODate with the specified datetime in UTC.指定UTC格式的日期时间,并返回UTC格式的指定日期时间的ISODate
  • new Date(<integer>) specifies the datetime as milliseconds since the UNIX epoch (Jan 1, 1970), and returns the resulting ISODate instance.指定自UNIX纪元(1970年1月1日)以来的日期时间(以毫秒为单位),并返回生成的ISODate实例。

Behavior行为

Internally, Date objects are stored as a signed 64-bit integer representing the number of milliseconds since the Unix epoch (Jan 1, 1970).在内部,Date对象存储为有符号的64位整数,表示自Unix纪元(1970年1月1日)以来的毫秒数。

Not all database operations and drivers support the full 64-bit range. 并非所有数据库操作和驱动程序都支持完整的64位范围。You may safely work with dates with years within the inclusive range 0 through 9999.您可以安全地使用年数在0到9999范围内的日期。

Examples示例

Use Date in a Query在查询中使用日期

If no document with _id equal to 1 exists in the products collection, the following operation inserts a document with the field dateAdded set to the current date:如果products集合中不存在_id等于1的文档,则以下操作将插入一个字段dateAdded设置为当前日期的文档:

db.products.updateOne(
   { _id: 1 },
   {
     $set: { item: "apple" },
     $setOnInsert: { dateAdded: new Date() }
   },
   { upsert: true }
)
Tip提示
See also: 参阅:

Return Date as a String以字符串形式返回日期

To return the date as a string, use the Date() method, as in the following example:要以字符串形式返回日期,请使用Date()方法,如下例所示:

var myDateString = Date();

Return Date as Date Object返回日期作为Date对象

mongosh wraps objects of Date type with the ISODate helper; however, the objects remain of type Date.使用ISODate助手包装Date类型的对象;但是,对象仍然是Date类型。

The following example uses new Date() to return Date object with the specified UTC datetime.以下示例使用new Date()返回指定UTC日期时间的Date对象。

var myDate = new Date("2016-05-18T16:00:00Z");
Tip提示
See also: 参阅:
←  BulkWriteResult()ObjectId →