MongoDB聚合运算符;$dateToString

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

语法

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

字段说明:

字段是否必须描述
date<dateExpression>可以是日期、时间戳或对象Id表达式
format日期格式,<formatString>可以是任何字符串,包含0个或多个格式指示符
timezone执行操作的时区,<tzExpression>必须是能被解析为奥尔森时区标识符格式的字符串或UTC偏移量,如果timezone不指定,返回值显示为UTC
onNulldate为空或缺失时的返回值。参数可以是任何有效的表达式。如果未指定$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
%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"
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/745028.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pip 配置镜像加速安装

在使用pip安装Python第三方库时&#xff0c;默认是使用pip官网的非常慢&#xff0c;可通过配置国内镜像源加速下载速度&#xff0c;以下是如何使用国内镜像源安装Python库的两种常见方式&#xff1a; 临时使用镜像源安装 如果你只是想临时使用某个镜像源安装单个或几个库&…

基于UE官方像素实现的像素流部署程序

写了很多像素流部署的技术文章,但因为大部分做UE的研发人员对于前端都不太熟悉,很难里面NodeJS中的官方像素流插件的使用。为此,我花了两天时间对官方像素流程序进行大量优化,支持以下特性。 单程序,支持windows和linux,无任何其他第三方依赖,双击即可运行完成像素流部署…

string接口[小白理解篇]

作文目的 本文是为了加深对string底层函数的一点理解(请勿与底层源码混为一谈)&#xff0c;下面从模拟与注意项出发。 一.string 功能化模拟 1.迭代器模拟 迭代器&#xff0c;为实现简单便理解故使用指针的方式(非说明迭代器使用该方法实现)。其中的begin、end都是为了给迭代…

LVGL移植到ARM开发板(GEC6818开发板)

LVGL移植到ARM开发板&#xff08;GEC6818开发板&#xff09; 一、LVGL概述 LVGL&#xff08;Light and Versatile Graphics Library&#xff09;是一个开源的图形用户界面库&#xff0c;旨在提供轻量级、可移植、灵活和易于使用的图形用户界面解决方案。 它适用于嵌入式系统…

MySQL 系统变量查看与设置(System Variables Configuration)

MySQL中有大量的系统变量控制服务器的行为&#xff0c;大部分的系统变量是不需要我们调整的&#xff0c;保持默认即可。但为了获得更高的性能和稳定性&#xff0c;有时需要适当对部分变量进行调整&#xff0c;本文总结了MySQL中系统变量的查看与设置方法。 目录 一、变量的类型…

半小时拥有自己的ChatGPT4,通俗易懂

准备 准备一个3.5的账号一张虚拟卡 开始步骤 从ChatGPT第一版发布到现在&#xff0c;还不到一年的时间中&#xff0c;可是它使用的GPT架构已经从3.5版本进化到现在的4.0版本&#xff0c;随之而来的是其能力的极大提升。下面是GPT-4在其官网的介绍中的一句话&#xff1a; GP…

整数序列删除指定数字,其他数顺序不变

#include <stdio.h>//整数序列删除一个数&#xff0c;其他数顺序不变 int main() {int arr[50] {0};//int arr[50] {1,2,3,4,5};int n 0;int del 0;int i 0;int j 0;scanf("%d",&n);for(i 0;i < n;i)scanf("%d",&arr[i]);scanf(&q…

用代码生成流程图Code Chart

CodeChart&#xff1a;https://www.iodraw.com/codechart ProcessOn在线流程图&#xff1a;https://www.processon.com/ Online FlowChart & Diagrams Editor - Mermaid Live Editor (mermaid-js.github.io) C语言的流程图工具&#xff1a;CodeVisual to Flowchart 语雀…

未来城市:数字孪生技术助力智慧城市构建

目录 一、数字孪生技术的兴起与定义 二、数字孪生技术在智慧城市构建中的应用 1、城市规划与管理 2、智慧交通 3、智慧能源 4、智慧环保 三、数字孪生技术助力智慧城市构建的挑战与对策 四、结语 随着科技的飞速发展&#xff0c;未来城市正在经历一场前所未有的变革。数…

Maven简单入门

Maven 一&#xff1a;什么是Maven&#xff1a; Maven是一个项目管理工具&#xff0c;用于构建和管理Java项目。它可以帮助开发人员自动化构建过程&#xff0c;管理项目依赖关系&#xff0c;并协助项目的发布和部署。通过Maven&#xff0c;开发人员可以定义项目的结构、依赖关…

C语言例3-11:使用算术运算符的例子。

代码如下&#xff1a; int main(void) {int a12, b10;float c2.0, d0.5;double e6.5, f13.0;printf("-a %d\n",-a);printf("ab %d\n",ab);printf("a-b %d\n",a-b);printf("a*b %d\n",a*b);printf("a/b %d\n"…

人类的谋算与量子计算

量子计算并不等价于并行计算。量子计算和并行计算是两种不同的计算模型。 在经典计算中&#xff0c;通过增加计算机的处理器核心和内存等资源&#xff0c;可以实现并行计算&#xff0c;即多个任务同时进行。并行计算可以显著提高计算速度&#xff0c;尤其是对于可以被细分为多个…

SE园区综合实验(未补齐版)

实验要求&#xff1a; 1.局域网存在vlan10和vlan20两个业务vlan&#xff0c;ip网段分别对应192.168.1.0/24和192.168.2.0/24 2.业务vlan可以在所有链路上传输数据 3.sw1和sw2之间的直连链路上配置静态链路聚合实现链路冗余&#xff0c;并提高链路带宽 4.sw3为某接入点二次交…

SpringBoot 项目整合xxl-job

一、简介 XXL-JOB是一个分布式任务调度平台&#xff0c;其核心设计目标是开发迅速、学习简单、轻量级、易扩展。要想在SpringBoot 项目中接入到XXL-JOB中进行分布式定时任务处理&#xff0c;可以参考官方文档: https://www.xuxueli.com/xxl-job/ 二、下载并部署调度中心 2.1…

【LeetCode】84. 柱状图中最大的矩形(困难)——代码随想录算法训练营Day60

题目链接&#xff1a;84. 柱状图中最大的矩形 题目描述 给定 n 个非负整数&#xff0c;用来表示柱状图中各个柱子的高度。每个柱子彼此相邻&#xff0c;且宽度为 1 。 求在该柱状图中&#xff0c;能够勾勒出来的矩形的最大面积。 示例 1: 输入&#xff1a;heights [2,1,5,…

ChatGPT的安全风险控制

ChatGPT的安全风险控制涉及多个方面&#xff0c;旨在确保模型在使用过程中的数据安全和防止潜在风险。以下是一些关键的风险控制措施&#xff1a; 数据保护&#xff1a; 敏感数据脱敏&#xff1a;对于涉及个人隐私、商业机密等敏感信息&#xff0c;应进行脱敏处理&#xff0c;…

输入url后,触发的前端相关事件

在浏览器输入 URL 后&#xff0c;通常会触发以下一系列事件和操作&#xff1a; URL 解析&#xff1a;浏览器会解析用户输入的 URL&#xff0c;包括协议&#xff08;如 http:// 或 https://&#xff09;、主机名、端口号&#xff08;如果有&#xff09;、路径和查询参数等。 DN…

msfconsole数据库连接不了的问题【已解决】

msfconsole数据库连接 1.msf数据库端口 msf使用的是postgresql&#xff0c;这个数据库默认端口是5432 单个模块的使用可以不需要数据库&#xff0c;但是模块与模块之间需要沟通的时候就会用到数据库。 2.查看msf数据库连接状态 db_status #msf内部查看systemctl status p…

HTML视频笔记

学习arm开发板&#xff0c;涉及到网页HTML PHP什么的&#xff0c;简单看个视频学习下 HTML&#xff5c;超简单HTML入门教程 https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element ​​​​​​vscode需要的libc6等需要的版本高​​​​​​ 为了安装vscode&#xff0c;将…

Spring Cloud Alibaba微服务从入门到进阶(四)(服务发现-Nacos )

Nacos是服务发现组件和配置服务器 作为服务发现注册组件Nacos Server 搭建Nacos Server 下载、启动 访问nacos,默认 用户/密码 nacos/nacos 将应用注册到nacos 加依赖 在SpringCloud子项目中&#xff0c;Feign是属于OpenFeign&#xff0c;Sentinel、Nacos是属于alibaba的&…