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会在datenull或缺失时返回null

使用

格式指示符

<formatString>格式指示符可以是下面的值:

指示符 描述 可能的值
%b 月份缩写(3个字符) jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec
%B 完整月份 january-december
%d 一个月内的第几天(2个数字,0填充) 01-31
%G ISO8601格式 年 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
%u ISO8601格式的一周内的第几天 1-7
%U 一年内的第几周(2个数字,0填充) 00-53
%V ISO8601格式的一年内的第几周 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"
}

相关推荐

  1. MongoDB聚合运算符;$dateToString

    2024-03-10 11:58:05       48 阅读
  2. MongoDB聚合运算符:$add

    2024-03-10 11:58:05       55 阅读
  3. MongoDB聚合运算符:$arrayToObject

    2024-03-10 11:58:05       52 阅读
  4. MongoDB聚合运算符;$dateToParts

    2024-03-10 11:58:05       52 阅读
  5. MongoDB聚合运算符:$dayOfWeek

    2024-03-10 11:58:05       53 阅读
  6. MongoDB聚合运算符:$dayOfMonth

    2024-03-10 11:58:05       50 阅读
  7. MongoDB聚合运算符:$dayOfYear

    2024-03-10 11:58:05       48 阅读
  8. MongoDB聚合运算符:$denseRank

    2024-03-10 11:58:05       42 阅读
  9. MongoDB聚合运算符:$dateTrunc

    2024-03-10 11:58:05       44 阅读
  10. MongoDB聚合运算符:$divide

    2024-03-10 11:58:05       43 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-10 11:58:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-10 11:58:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-10 11:58:05       82 阅读
  4. Python语言-面向对象

    2024-03-10 11:58:05       91 阅读

热门阅读

  1. CSS:让动画流畅生动的缓动函数

    2024-03-10 11:58:05       37 阅读
  2. Vue/cli项目全局css使用

    2024-03-10 11:58:05       41 阅读
  3. Qt之插件

    2024-03-10 11:58:05       42 阅读
  4. 从重庆——看未来数字化发展与趋势

    2024-03-10 11:58:05       47 阅读
  5. 设计模式 单例模式

    2024-03-10 11:58:05       38 阅读
  6. c++单例模式和call_once函数

    2024-03-10 11:58:05       40 阅读
  7. CSS教程(1)——CSS介绍

    2024-03-10 11:58:05       42 阅读
  8. 值传递和引用传递

    2024-03-10 11:58:05       35 阅读
  9. 利用SQL Server 进行报表统计的关键SQL语句与函数

    2024-03-10 11:58:05       39 阅读
  10. 【前端】尚硅谷Webpack教程笔记

    2024-03-10 11:58:05       45 阅读
  11. rabbitMQ

    rabbitMQ

    2024-03-10 11:58:05      40 阅读
  12. linux系统docker的使用命令

    2024-03-10 11:58:05       40 阅读
  13. el-table报错 error: [ElTable] prop row-key is required

    2024-03-10 11:58:05       38 阅读
  14. proteus8.9 示波器放大

    2024-03-10 11:58:05       40 阅读
  15. C++的萃取技术

    2024-03-10 11:58:05       45 阅读