首页 > 解决方案 > 比较两个日期的日期格式,一个来自 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
 }

标签: node.jsmongodbexpressmongoosemongodb-query

解决方案


使用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>


推荐阅读