MongoDb:在mongodb 3.6中将日期字符串转换为特定格式

编程入门 行业动态 更新时间:2024-10-17 21:24:48
本文介绍了MongoDb:在mongodb 3.6中将日期字符串转换为特定格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我需要在不使用dateFromString运算符中的格式字段的情况下将日期值解析为特定格式.

I need to parse date value to specific format without using format field in dateFromString operator.

蒙戈游乐场

当前情况: 在Mongodb 4.0中,如果我使用下面的代码格式化dateString,它会给我提到的输出.

Current situation : in Mongodb 4.0 if I format dateString using below it code it give me mentioned output.

parsedDate: { $dateFromString: { dateString: "$dateS", format: format: "%Y-%m-%dT%H" } } Output: "parsedDate": ISODate("2020-01-16T08:00:00Z")

由于不支持3.6中的格式字段,因此无法使用. 如何将日期转换为 format: "%Y-%m-%dT%H"在3.6中?

I cannot use format field in 3.6 since its not supported. How do I convert my date to format: "%Y-%m-%dT%H" in 3.6?

推荐答案

我认为以下查询将解决您的问题,因为MongoDB 3.6支持 dateFromString

I think following query will solve your problem because MongoDB 3.6 supports dateFromString

输入:

[ { "dateS": "2020-01-16T08" } ]

查询:

db.collection.aggregate([ { "$project": { "year": {"$substr": ["$dateS",0,4]}, "month": {"$substr": ["$dateS",5,2]}, "day": {"$substr": ["$dateS",8,2]}, "hour": {"$substr": ["$dateS",11,2]} } }, { $addFields: { "isoString": { "$concat": ["$year","-","$month","-","$day","T","$hour",":00:00Z"] } } }, { $addFields: { "newDate": { $dateFromString: {"dateString": "$isoString"} } } } ])

输出:

[ { "_id": ObjectId("5a934e000102030405000000"), "day": "16", "hour": "08", "isoString": "2020-01-16T08:00:00Z", "month": "01", "newDate": ISODate("2020-01-16T08:00:00Z"), "year": "2020" } ]

更多推荐

MongoDb:在mongodb 3.6中将日期字符串转换为特定格式

本文发布于:2023-11-07 19:40:09,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1567241.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:转换为   字符串   中将   日期   格式

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!