当前位置: 首页 > 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("时间段不能交叉!")}}
http://www.lryc.cn/news/250618.html

相关文章:

  • Python Spyder开发的应用项目
  • ES6知识点
  • 数据结构详解各种算法
  • Qt实现右键菜单
  • MySQL基础篇一
  • 深入了解Java8新特性-日期时间API:OffsetDateTime类
  • 企业微信http协议接口开发,发送位置消息
  • CSS——基础选择器、文字控制属性
  • 08-中介者模式-C语言实现
  • 【开源】基于JAVA的医院门诊预约挂号系统
  • NodeJs(一):初识nodejs、模块化、CommonJS、ESModule等
  • hive 命令记录(随时更新)
  • java实战(五):理解多线程与多线程实现冒泡排序及可视化
  • mysql-binlog,redolog 和 undolog区别
  • Redis SDS 源码
  • 肖sir__mysql之单表练习题2__(2)
  • nuxt、vue实现PDF和视频文件的上传、下载、预览
  • c++ 写成.h .cpp main.cpp 多文件形式
  • 组合总和(回溯)
  • 【代码】微电网两阶段鲁棒优化经济调度方法(完美复现)matlab-yalmip-cplex/gurobi
  • 关于无线测温系统在海上石油平台的应用探讨-安科瑞 蒋静
  • CSS 滚动捕获 scroll-padding
  • asp.net core webpi 结合jwt实现登录鉴权
  • 【香橙派】实战记录2——烧录安卓镜像及基本功能
  • 【spring(六)】WebSocket网络传输协议
  • MidJourney笔记(6)-Niji模式
  • Linux命令(139)之ab
  • 笔记----单纯剖分----1
  • mybatis源码(五)springboot pagehelper实现查询分页
  • 【BUG】SpringBoot项目Long类型数据返回前端精度丢失问题