年月日时分秒时间段交集判断2
//多组时间段-年月日时分秒是否存在交集
timeHasCan(arr){
let timeTrue=false;
for (let i = 0; i < arr.length; i++) {
if(timeTrue){
break;
}
let d1 = new Date(arr[i].startDate).getTime();
let d2 = new Date(arr[i].endDate).getTime();
let t1=this.timeT(arr[i].startTime);
let t2=this.timeT(arr[i].startTime=='00:00:00'&&arr[i].endTime=='00:00:00'?'24:00:00':arr[i].endTime);
for (let j = i + 1; j < arr.length; j++) {
let d3 = new Date(arr[j].startDate).getTime()
let d4 = new Date(arr[j].endDate).getTime()
let t3=this.timeT(arr[j].startTime);
let t4=this.timeT(arr[j].startTime=='00:00:00'&&arr[j].endTime=='00:00:00'?'24:00:00':arr[j].endTime);
console.log("mxmconk:",d1,d2,d3,d4,t1,t2,t3,t4,(d1 >= d3 && d1 <= d4),(d1 <= d3 && d2 >= d3))
if ((d1 >= d3 && d1 <= d4) || (d1 <= d3 && d2 >= d3)) {
//年月日存在交集
console.log('年于日存在交集:',t1,t2,t3,t4);
if(Math.max(...[t1,t3])<= Math.min(...[t2,t4])) {
//时分秒存在交集
timeTrue=true;
break;
}
}
}
}
return timeTrue;
}
还没有评论哦,来抢个沙发吧!