当前位置: 首页 > news >正文

js校验多个时间段的时间是否有交叉

参考博客:
Java日期时间API系列37-----时间段是否有重叠(交集)的计算方法
Java 最优雅方式校验时间段重叠

判断是否有交叉数据

       let timePeriod = [
        {
          start: dateList[0].value, //时间段1的开始时间 时间格式为1130(代表11:30)
          end: dateList[1].value,//时间段1的结束时间
        }{
          start: dateList[2].value, //时间段2的开始时间
          end: dateList[3].value,//时间段2的结束时间
        }{
          start: dateList[4].value, //时间段3的开始时间
          end: dateList[5].value,//时间段3的结束时间
        }{
          start: dateList[6].value, //时间段4的开始时间
          end: dateList[7].value,//时间段4的结束时间
        }{
          start: dateList[8].value, //时间段5的开始时间
          end: dateList[9].value,//时间段5的结束时间
        }{
          start: dateList[10].value, //时间段6的开始时间
          end: dateList[11].value,//时间段6的结束时间
        }]
        
        // 先按开始时间排序(需要保证开始时间小于结束时间)
        timePeriod.sort((a, b) => {
          return a.start - b.start
        })
        
        // 去除时间为空的时间段
        let timePeriodValue = timePeriod.filter(item => item.start != "") || []
        // 循环一遍,看有无交叉数据
        for (let i = 1; i < timePeriodValue.length; i++) {
          // !(timePeriodValue[i - 1].end < timePeriodValue[i].start) 时间段交叉(严格)
          // 如果1030与1030不算交叉 则!(timePeriodValue[i - 1].end <=timePeriodValue[i].start)  (非严格)
          if ( !timePeriodValue[i - 1].end < timePeriodValue[i].start ) {
            return callback(new Error("时间段不能交叉!")
          }
        }

相关文章:

  • OrangePi 5:ROS2 Humble中使用激光雷达
  • java:springboot3集成swagger(springdoc-openapi-starter-webmvc-ui)
  • WSL2 docker GUI 界面
  • Python与ArcGIS系列(十三)UpdateCursor方法
  • webWorker解决单线程中的一些小问题和性能优化
  • 【C++】string类的接口综合运用
  • 第四阶|自在行草 暄桐教室,林曦书法 从书法之美到生活之美
  • PHP TCP服务端监听端口接收客户端RFID网络读卡器上传的读卡数据
  • 关于前端的学习思考-父子盒子溢出问题
  • 视频字幕处理+AI绘画,Runway 全功能超详细使用教程(4)
  • Pandas进阶:文本处理
  • 王者荣耀java版
  • git rebase冲突说明(base\remote\local概念说明)
  • uni-app+vue3 封装全局函数(详细完整的方法)
  • SQL中left join、right join、inner join等的区别
  • 快速了解ChatGPT(大语言模型)
  • CentOS部署python Flask项目
  • 一文带你了解网络安全简史
  • 网络安全技术
  • AES加密技术:原理与应用
  • 每天少看1小时手机,就可能有神奇效果
  • 淡出政治舞台?马斯克称将削减政治开支:已经做得够多了
  • 第九届非遗节将于五月下旬举办,600个非遗项目将参展参演
  • 美媒:鲁比奥称特朗普不出席二十国集团领导人会议
  • 凤阳鼓楼脱落瓦片2023年刚经历修复,凤阳县文旅局长回应是否违建等焦点问题
  • 印尼总统20年来首次访泰:建立战略伙伴关系,加强打击网络诈骗等合作