node.js - 检查除初学者值以外的值范围内的日期
问题描述
我想检查日期范围之间的时间。我写了这段代码:
const twoDayLater = new Date(new Date().getTime() + 2 * 24 * 60 * 60 * 1000)
const OneDayLater = new Date(new Date().getTime() + 1 * 24 * 60 * 60 * 1000)
const runOfOutUsers = await SubscriptionExtention.find({ expireTime: { $gt: OneDayLater, $lte: twoDayLater } })
但我不想接受过期时间字段等于 OneDayLater 的文件。用数学的话来说,我想检查 expiretime = (OneDayLater, twoDayLater]。我该怎么做?
解决方案
$gt
并且$lte
工作在毫秒级别,不会影响一天
此外,如果您指的是一天的粒度,则仅(OneDayLater, twoDayLater]
表示所有订阅twoDayLater
。并设置:
const twoDayLater = new Date(new Date().getTime() + 2 * 24 * 60 * 60 * 1000)
const startOfDay = new Date(twoDayLater).setHours(0,0,0,0);
const endOfDay = new Date(twoDayLater).setHours(23,59,59,999);
const runOfOutUsers = await SubscriptionExtention.find({ expireTime: { $gte: startOfDay, $lte: endOfDay } })
推荐阅读
- object - Dataweave - 在 mappedObject 中动态拆分名称字段
- java - 如何让 MacOS (Catalina) 使用自定义 Java 版本?
- python - 如何在字典的循环中获取句柄和标签?
- vue.js - 页面重新加载后数据消失 - vuexfire
- python - 更改 Pandas 显示 nan 的方式
- java - Java 泛型 - 从兄弟类复制值
- vb.net - vb.net 查找winform中的所有子控件
- python - numpy.save 将 3D Numpy 数组与标签一起存储
- c# - C# 读取我的项目目录之外的文件
- tensorflow - 如何避免在 Tensorflow 中填充求和