StarFire_xm
  • 文章
  • 粉丝
  • 评论

年月日时分秒时间段交集判断2

2022-09-26 13:08:190 次浏览0 次评论技能类型: js

//多组时间段-年月日时分秒是否存在交集

  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;

  }


    发表

    还没有评论哦,来抢个沙发吧!