日期时间函数

<< Click to Display Table of Contents >>

当前位置:  计算列函数 > Mongo计算列函数列表 

日期时间函数

Previous pageReturn to chapter overviewNext page

日期函数语法表:

函数

语法

说明

举例

dateFromParts

{$dateFromParts :

{ 'year': <year>,

'month': <month>,

'day': <day>,

'hour': <hour>,

'minute': <minute>, 'second':<second>,

'millisecond': <ms>, 'timezone': <tzExpression>}

}

给定日期的组成属性,构造并返回Date对象

例如 :

 

{ $ dateFromParts : { 'year' : 2017 , 'month' : 14 , 'day' : 1 , 'hour' : 12 } }

dateFromString

{ $dateFromString: {dateString: <dateStringExpression>,

format: <formatStringExpression>,

timezone: <tzExpression>,

onError: <onErrorExpression>, onNull:<onNullExpression>}

}

将日期/时间字符串转换为日期对象

例如 :

{ $dateFromString: { dateString: "15-06-2018", format: "%d-%m-%Y"} }

dateToParts

{$dateToParts:

{'date' : <dateExpression>,

'timezone':<timezone>,

'iso8601' : <boolean>}

}

返回一个文档,该文档包含给定BSON日期值的组成部分作为单个属性。返回的属性year,month,day,hour,minute,second 和millisecond

例如 :

{ $dateToParts: { date: "$date", timezone: "America/New_York" } }

dateToString

{ $dateToString: {

date:<dateExpression>,

format:<formatString>,

timezone:<tzExpression>,

onNull:<expression>

} }

根据用户指定的格式将日期对象转换为字符串

例如 :

 

{ $dateToString: { format: "%Y-%m-%d", date: ISODate("2014-01-01T08:15:39.736Z") } }

dayOfMonth

{ $dayOfMonth: <dateExpression> }

以1到31之间的数字返回日期的月份

例如 :

 

{ $dayOfMonth: new Date("2016-01-01") }

dayOfWeek

{ $dayOfWeek: <dateExpression> }

以1(星期日)至7(星期六)之间的数字返回日期的星期几

例如 :

{ $dayOfWeek: new Date("2016-01-01") }

dayOfYear

{ $dayOfYear: <dateExpression> }

以1到366之间的数字返回日期的一年中的某天

例如 :

{ $dayOfYear: new Date("2016-01-01") }

hour

{ $hour: <dateExpression> }

以0到23之间的数字返回日期的小时部分

例如 :

{ $hour: new Date("2016-01-01T12:00:00Z") }

isoDayOfWeek

{ $isoDayOfWeek: <dateExpression> }

以ISO 8601格式返回工作日编号,范围从 1(星期一)到7(星期日)

例如 :

{ $isoDayOfWeek: new Date("2016-01-01") }

isoWeek

{ $isoWeek: <dateExpression> }

以ISO 8601格式返回星期数,范围从1到 53。星期数字从1包含一年中第一个星期四的星期(星期一至星期日)开始

例如 :

{ $isoWeek: { date: new Date("Jan 4, 2016") } }

isoWeekYear

{ $isoWeekYear: <dateExpression> }

以ISO 8601格式返回年份。年份从第1周的星期一开始,到最后一周的星期日结束

例如 :

{ $isoWeek: { $isoWeekYear: new Date("2015-05-26") }

millisecond

{ $millisecond: <dateExpression> }

以0到999之间的整数形式返回日期的毫秒部分

例如 :

{ $millisecond: ISODate("2014-01-01T08:15:39.736Z") }

minute

{ $minute: <dateExpression> }

以0到59之间的数字返回日期的分钟部分

例如 :

{ $minute: new Date("2016-01-01T12:01:00Z") }

month

{ $month: <dateExpression> }

以1到12之间的数字返回日期的月份

例如 :

{ $month: { date: new Date("Nov 7, 2003") } }

second

{ $second: <dateExpression> }

以0到59之间的数字返回日期的第二部分,但可以为60以表示leap秒

例如 :

{ $second: new Date("2012-11-06T00:14:20") }

week

{ $week: <dateExpression> }

以0到53之间的数字返回日期的一年中的星期

例如 :

{ $week: { date: new Date("2016-01-04") } }

year

{ $year: <dateExpression> }

返回日期的年份部分

例如 :

{ $year: new Date("2016-01-01") }