我想不出怎么解决这个问题。例如:
我的活动将从此日期开始
05 June to 07 June and from 15:00 to 17:00
或者结束时间是午夜过夜:
05 June to 07 June and from 15:00 to 00:00
我怎样才能确定该事件在该范围内的每一天都在进行中?我尝试了一些解决方案,但我总是比较开始和结束日期。
PS。使用原生JS。
编辑:我想我解决了它,现在测试我的代码:function getNumbOfDays(start, end){
var oneDay = 24*60*60*1000;
var startDate = new Date(start);
if(end=== undefined || end === null){
return true;
} else {
var endDate = new Date(end);
var diffDays = Math.round(Math.abs((startDate.getTime() - endDate.getTime())/(oneDay)));
if(diffDays === 0){
return true;
} else {
return false;
}
}
}
if(!getNumbOfDays(eventStart, eventEnd)){
eventStart.setDate(now.getDate());
if(eventEnd.getDate() === now.getDate()){
eventEnd.setDate(now.getDate());
} else {
eventEnd.setDate(now.getDate() + 1);
}
}
return (now > eventStart && now < eventEnd);