我正在使用 MongoDB,它有一個以毫秒為單位的時間欄位。我正在嘗試獲取前一天的所有記錄。到目前為止,我已經搜索了顯示如何獲取前 24 小時記錄的解決方案。但我只需要前一天的記錄。請幫助撰寫此查詢。所以像這樣
createdTime: {
$lt: new Date().getTime(),
$gt: new Date().getTime() - 1000 * 60 * 60 * 24,
},
但就像我解釋的那樣,這不是我想要的。
uj5u.com熱心網友回復:
每當您必須使用日期/時間算術時,我推薦moment.js庫:
createdTime: {
$lt: moment().endOf('day').subtract(1, 'day').toDate(),
$gte: moment().startOf('day').subtract(1, 'day').toDate()
},
替代庫是luxon和day.js
uj5u.com熱心網友回復:
您可以通過這種方式獲取前一天開始和結束的 UNIX 時間戳。
注意 - 以 UTC 時間開始和結束
var start = new Date().setUTCHours(0,0,0,0)-1000 * 60 * 60 * 24;
var end = new Date().setUTCHours(23,59,59,999)-1000 * 60 * 60 * 24;
console.log(start)
console.log(end)
console.log(new Date(start).toUTCString())
console.log(new Date(end).toUTCString())
uj5u.com熱心網友回復:
我們假設“前一天”是從今天前一天開始的 24 小時時段。最簡單的方法是使用基于 UTC 的時間并添加時區偏移量(如果需要)。
const timeZoneOffset = -5;
createdTime: {
$gt: new Date().setUTCHours(0,0,0)-1000 * 60 * 60 * (24 timeZoneOffset),
$lt: new Date().setUTCHours(23,59,59,999)-1000 * 60 * 60 * (24 timeZoneOffset)
},
uj5u.com熱心網友回復:
var date = new Date();
date ; //# => today date
var yesterdayDate = date.setDate(date.getDate() - 1);
createdTime: {
$lt: date,
$gt: yesterdayDate,
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/424010.html
標籤:javascript 节点.js mongodb 猫鼬 时刻
上一篇:有誰知道這個錯誤的修復方法(TypeError:無法分配給物件'#<QueryCursor>'的只讀屬性'map')
