判断时间点是否在时间区间内

需求:使用echart将工作时间画出来;将24小时等份划分,每份6小时,然后将工作时间对应着这四个区间进行规划;
type:区间1(00:00~06:00),区间2(06:00~12:00),区间3(12:00~18:00),区间4(18:00~24:00)
注意点:后台传过来的时间不能跨天(例如:2022-12-03 24:00:00不能改成2022-12-04 00:00:00),或者前端每次接收数据的时候进行转换!
数据格式:
        Array:{"beginTime":"2022-12-03 03:00:10","endTime":"2022-12-03 19:10:00"}
        resultDate:[]
isDuringDate(beginTime,endTime,currentTime){
  if(currentTime>beginTime&&currentTime<endTime){
      return true;
  }else{
    return false;
  }
},
TimeRecursion(Array,resultData){
  let beginTime = new Date(Array.beginTime);
  let endTime = new Date(Array.endTime);
  let sectionDate1 = new Date(this.useSituationTime + " 00:01");
  let sectionDate2 = new Date(this.useSituationTime + " 06:00");
  let sectionDate3 = new Date(this.useSituationTime + " 12:00");
  let sectionDate4 = new Date(this.useSituationTime + " 18:00");
  let sectionDate5 = new Date(this.useSituationTime + " 24:00");
  if(beginTime.getTime()>=sectionDate1.getTime()&&endTime.getTime()<=sectionDate2.getTime()){
    let map = {type:1,data:[beginTime,endTime]}
    resultData.push(map);
    return resultData;
  }else if(beginTime.getTime()>=sectionDate2.getTime()&&endTime.getTime()<=sectionDate3.getTime()){
    let map = {type:2,data:[beginTime,endTime]}
    resultData.push(map)
    return resultData;
  }else if(beginTime.getTime()>=sectionDate3.getTime()&&endTime.getTime()<=sectionDate4.getTime()){
    let map = {type:3,data:[beginTime,endTime]}
    resultData.push(map)
    return resultData;
  }else if(beginTime.getTime()>=sectionDate4.getTime()&&endTime.getTime()<=sectionDate5.getTime()){
    let map = {type:4,data:[beginTime,endTime]}
    resultData.push(map)
    return resultData;
  }else{
        if(this.isDuringDate(beginTime.getTime(),endTime.getTime(),sectionDate4.getTime())){
      resultData.push({type:4,data:[sectionDate4,endTime]})
      this.TimeRecursion({beginTime:beginTime,endTime:sectionDate4},resultData)
    }else if(this.isDuringDate(beginTime.getTime(),endTime.getTime(),sectionDate3.getTime())){
      resultData.push({type:3,data:[sectionDate3,endTime]})
      this.TimeRecursion({beginTime:beginTime,endTime:sectionDate3},resultData)
    }else if(this.isDuringDate(beginTime.getTime(),endTime.getTime(),sectionDate2.getTime())){
      resultData.push({type:2,data:[sectionDate2,endTime]})
      this.TimeRecursion({beginTime:beginTime,endTime:sectionDate2},resultData)
    }
  }
},
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值