我有一个包含多个日期范围的数组。我需要检查日期是否在范围内(检查重叠日期现在不在范围内。)
到目前为止,我已经拥有此代码,但即使今天的日期在其中一个日期范围内,它也不会返回true。
db.collection.aggregate([
{
$project: {
"_id": 0, //This line is optional
"publisher": 1
}
}
])
我在这里缺少什么? 感谢。
答案 0 :(得分:0)
@Taplar说的,简单的解决方法:
var found = false
// For each calendar date, check if it is within a range.
for (i = 0; i < datesArray.length; i++) {
.....
// Compare date
if (today >= FromDate && today <= ToDate) {
found = true;
console.log("Found: " + schedule);
break; //stop looping.
}
}
//At the end of the for loop, if the date wasn't found, return true.
if (!found) {
console.log("Not found");
}
答案 1 :(得分:0)
在您的代码中,today
是一个字符串,而d
是Date()
。您将受益于更具描述性的变量名称,例如todayString
和todayDate
。
另外,我不确定&#34;今天&#34;正如您在+1
上getMonth()
所做的那样具有描述性。
如果您的datesArray
是在JavaScript中确定的,那么您可以在其中存储Date()
个对象,但也许您是出于示例目的而这样做的。