node.js - 比较两个日期的日期格式,一个来自 mogo 数据库,另一个来自一个 http 请求
问题描述
我想与日期进行比较以在快速函数中执行一些逻辑。来自 mongodb 并使用 Date 对象在 mongoose 模式中定义的日期具有以下格式:
date: "1991-12-12T00:00:00.000Z"
来自 http 请求的另一个日期是格式为 YYYY-MM-DD 的字符串
http://www.web.com/path1/path2?from=1990-12-31&to=2000-12-31
如何在回调函数中实现两个日期比较以实现一些逻辑
if ( "1991-12-12T00:00:00.000Z" > from && "1991-12-12T00:00:00.000Z" < to){
...some logic here
}
解决方案
使用Moment.js确定这些日期是否在同一天内。Moment.js 还包括诸如“ isBefore ”、“ isAfter ”、“ isSameOrBefore ”、“ isSameOrAfter ”之类的方法,您可能希望使用这些方法来实现您的目标。
const isSameDay = moment('1991-12-12T00:00:00.000Z', 'YYYY-MM-DDTHH:mm:ss.SSSZ')
.isSame(moment('1991-12-12','YYYY-MM-DD'), 'day');
if(isSameDay) {
console.log('Dates are within the same day');
} else {
console.log('Dates are not within the same day');
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.23.0/moment.min.js"></script>
推荐阅读
- java - 从 Kafka 主题中读取所有消息
- node.js - 当我尝试使用 gmail 地址发送电子邮件时,为什么 nodemailer 会给我这个错误?错误:发送后无法设置标头
- reactjs - React 中的标志设置问题
- python-requests - 使用 Azure 函数 App 调用 REST API 并将数据存储在 Azure 容器中
- javascript - 如何通过鼠标滚动更改几张幻灯片?
- powerbi - 如何使用切片器更改显示哪些字段?
- javascript - 使用 Highlight.js 突出显示符号和数字
- azure - 如何在 Azure AD 中禁用自定义域筛选
- javascript - 使用 php 使用动态选择标记填充的文本框字段
- string - PowerShell:使用字符串和哈希表