0


MongoDB聚合运算符;$dateToString

$dateToString

聚合运算符按用户指定的格式将日期对象转为字符串。

语法

{$dateToString:{date:<dateExpression>,format:<formatString>,timezone:<tzExpression>,onNull:<expression>}}

字段说明:
字段是否必须描述

date

<dateExpression>

可以是日期、时间戳或对象Id表达式

format

否日期格式,

<formatString>

可以是任何字符串,包含0个或多个格式指示符

timezone

否执行操作的时区,

<tzExpression>

必须是能被解析为奥尔森时区标识符格式的字符串或UTC偏移量,如果

timezone

不指定,返回值显示为

UTC
onNull

否当

date

为空或缺失时的返回值。参数可以是任何有效的表达式。如果未指定

$dateToString

会在

date

null

或缺失时返回

null

使用

格式指示符

<formatString>

格式指示符可以是下面的值:
指示符描述可能的值%b月份缩写(3个字符)

jan

,

feb

,

mar

,

apr

,

may

,

jun

,

jul

,

aug

,

sep

,

oct

,

nov

,

dec

%B完整月份

january
  • december
    
    %d一个月内的第几天(2个数字,0填充)
    01
    
  • 31
    
    %GISO8601格式 年
    0000-9999
    
    %H小时(2个数字,0填充,24小时时钟)
    00-23
    
    %j一年内的第几天(3个数字,0填充)
    001-366
    
    %L毫秒(3个数字,0填充)
    000=999
    
    %m月(2个数字,0填充)
    01-12
    
    %M分钟(2个数字,0填充)
    00-59
    
    %S秒(2个数字,0填充)
    00-60
    
    %uISO8601格式的一周内的第几天
    1-7
    
    %U一年内的第几周(2个数字,0填充)
    00-53
    
    %VISO8601格式的一年内的第几周
    1-53
    
    %w一周内的第几天(整数,0-Sunday,6-Saturday)
    0-6
    
    %Y年(4个数字,0填充)
    0000-9999
    
    %z时区与UTC的偏移量
    ```

+/-[hh][mm]

%Z从 UTC 开始的分钟偏移量,用数字表示。例如,如果时区偏移

(+/-[hhmm])为 +0445

,则分钟偏移为

+285

+/-mmm

%%百分比字符作为字面值

%


### 举例

集合

sales

有下面的文档:

{"_id":1,"item":"abc","price":10,"quantity":2,"date":ISODate("2014-01-01T08:15:39.736Z")}


下面的聚合使用

$dateToString

返回

date

字段格式化后的字符串:

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"}},abbreviated_month:{$dateToString:{format:"%b",date:"$date",timezone:"+04:30"}},full_month:{$dateToString:{format:"%B",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","abbreviated_month":"Jan","full_month":"January"}
```

标签: mongodb 数据库

本文转载自: https://blog.csdn.net/superatom01/article/details/136592400
版权归原作者 原子星 所有, 如有侵权,请联系我们删除。

“MongoDB聚合运算符;$dateToString”的评论:

还没有评论