js中检查时间段列表是否有交叉
var arr = JSON.parse(chooseString); for (var i = 0; i < arr.length; i++) { var d1 = '1999-01-01 ' + arr[i].KaiShiShiJian; var d2 = '1999-01-01 ' + arr[i].JieShuShiJian; d1 = new Date(d1.replace(/-/g, "/")); d2 = new Date(d2.replace(/-/g, "/")); for (var j = i + 1; j < arr.length; j++) { // j=i+1:使其不要与自身比较 var t1 = '1999-01-01 ' + arr[j].KaiShiShiJian; var t2 = '1999-01-01 ' + arr[j].JieShuShiJian; t1 = new Date(t1.replace(/-/g, "/")); t2 = new Date(t2.replace(/-/g, "/")); if ((d1 >= t1 && d1 < t2) || (d1 < t1 && d2 > t1)) { AlertInfo("时间段 " + arr[i].name + " 与 " + arr[j].name + " 的时间有交叉!"); return; } } }