MongoDB|mongodb 格式化时间

1、$dateFromString (aggregation)

{ $dateFromString: { dateString: ,// 要转换的时间字符串 format: ,// 转换的格式,‘%Y-%m-%dT%H:%M:%S.%LZ’ timezone: ,// 指定的时区 onError: ,// 报错时输出 onNull: // null时输出 } }

【MongoDB|mongodb 格式化时间】例1:
{ $dateFromString: { dateString: "2017-02-08T12:10:40.787" } }结果:ISODate("2017-02-08T12:10:40.787Z")


例2:
{ $dateFromString: { dateString: "15-06-2018", format: "%d-%m-%Y" } }结果:ISODate("2018-06-15T00:00:00Z")

2、$dateToString (aggregation)
{ $dateToString: { date: , format: , timezone: , onNull: } }

例:{"date" : ISODate("2014-01-01T08:15:39.736Z")}
db.sales.aggregate( [ { $project: { yearMonthDayUTC: { $dateToString: { format: "%Y-%m-%d", date: "$date" } }, timewithOffsetNY: { $dateToString: { format: "%H:%M:%S:%L%z", date: "$date", timezone: "America/New_York"} }, timewithOffset430: { $dateToString: { format: "%H:%M:%S:%L%z", date: "$date", timezone: "+04:30" } }, minutesOffsetNY: { $dateToString: { format: "%Z", date: "$date", timezone: "America/New_York" } }, minutesOffset430: { $dateToString: { format: "%Z", date: "$date", timezone: "+04:30" } } } } ] )

结果:
{ "_id" : 1, "yearMonthDayUTC" : "2014-01-01", "timewithOffsetNY" : "03:15:39:736-0500", "timewithOffset430" : "12:45:39:736+0430", "minutesOffsetNY" : "-300", "minutesOffset430" : "270" }

3、toDate (aggregation)
{ $toDate: }

例:
语句:{$toDate: 120000000000.5} 结果:ISODate(“1973-10-20T21:20:00Z”)语句:{$toDate:"2018-03-03"} 结果:ISODate(“2018-03-03T00:00:00Z”)

注意:
%d = 01-31 %G = 0000-9999 %H = 00-23 %L = 000-999 %m = 01-12 %M = 00-59 %S = 00-60 %u = 1-7 %V = 1-53 %Y = 0000-9999 %z = +/-[hh][mm] %Z = +/-mmm %% = %


    推荐阅读