mongodb 格式化时间

1、$dateFromString (aggregation)

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

例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: <dateExpression>,
    format: <formatString>,
    timezone: <tzExpression>,
    onNull: <expression>
} }

例:        {"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: <expression>
}

例:

语句:{$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
%% = %

猜你喜欢

转载自blog.csdn.net/u014259503/article/details/84775792