時(shí)間:2024-03-26 14:45作者:下載吧人氣:31
MongoDB中存儲(chǔ)和處理日期是一個(gè)重要部分,它可以幫助我們更好地操作數(shù)據(jù)。本指南將介紹MongoDB日期格式以及如何進(jìn)行處理。
MongoDB中的日期被存儲(chǔ)為短的24位的標(biāo)準(zhǔn)字符串,可以使用以下代碼片段訪問(wèn)該字符串:
> db.collection.find({"created_at": {$exists: true}}).forEach(function(document) {
printjson(document.created_at);});
結(jié)果為:
2020-04-17T10:59:15.284
2020-03-25T00:45:11.6182019-12-14T20:48:48.299
我們可以看到,MongoDB中的日期字符串格式為“ 年-月-日T時(shí)-分-秒.xxx”,其中xxx為毫秒值。
我們可以通過(guò)使用以下代碼片段來(lái)轉(zhuǎn)換日期格式:
> db.collection.find({"created_at": {$exists: true}}).forEach(function(document) {
var dt = new Date(document.created_at); printjson(dt);
});
結(jié)果為:
2020-04-17T02:59:15.284Z
2020-03-24T16:45:11.618Z2019-12-14T12:48:48.299Z
可見(jiàn),通過(guò)使用代碼我們已經(jīng)把MongoDB中的日期字符串轉(zhuǎn)換為標(biāo)準(zhǔn)的UTC日期格式。
此外,我們還可以使用以下代碼片段,轉(zhuǎn)換為指定的時(shí)區(qū)時(shí)間格式:
> db.collection.find({"created_at": {$exists: true}}).forEach(function(document) {
var dt = new Date(document.created_at); var offset = dt.getTimezoneOffset();
var tzdt = new Date(dt.getTime() + offset * 60 * 1000); printjson(tzdt);
});
結(jié)果為:
2020-04-17T10:59:15.284
2020-03-25T00:45:11.6182019-12-14T20:48:48.299
最后,我們可以使用以下代碼將標(biāo)準(zhǔn)UTC日期格式轉(zhuǎn)換為我們指定的格式:
> db.collection.find({"created_at": {$exists: true}}).forEach(function(document) {
var dt = new Date(document.created_at); var y = dt.getFullYear();
var m = dt.getMonth()+1; var d = dt.getDate();
var hh = dt.getHours(); var mm = dt.getMinutes();
var ss = dt.getSeconds(); var myFormatDate= y + "-" +m+"-"+d+" "+hh+":"+mm+":"+ss;
printjson(myFormatDate);});
結(jié)果為:
2020-4-17 10:59:15
2020-3-25 0:45:112019-12-14 20:48:48
從上面這些代碼可以看出,MongoDB中的日期格式處理十分方便,只需要幾行簡(jiǎn)單的代碼就可以實(shí)現(xiàn)日期格式的轉(zhuǎn)換。MongoDB日期格式處理非常強(qiáng)大而且靈活,可以自由指定需要的日期格式,為我們的數(shù)據(jù)操作提供便利。
網(wǎng)友評(píng)論