js根据开始、结束时间判断当前是否在营业时间内

 

 

//判断营业时间 starStr=>开始时分 endStr=>结束时分

var businessTime = function(starStr = '7:00', endStr = '23:00') {
  try {
     if (!(starStr&&endStr)) {
       return true
     }
     let starArr = starStr.split(':'),
     endArr = endStr.split(':');
     starArr[0] = Number(starArr[0]);
     starArr[1] = Number(starArr[1]);
     endArr[0] = Number(endArr[0]);
     endArr[1] = Number(endArr[1]);
     // let txt='2022/03/31 23:00:01';
     let nowVal = (new Date()).getTime(); //现在的时间戳
     let starVal = (new Date()).setHours(starArr[0], starArr[1], 0, 0); //开始时间的时间戳
     let endVal = 0; //结束时间的时间戳
     if (endArr[0] <= starArr[0]) { //结束时间小于开始时间情况下,为第二天停业 天数+1
       let now = new Date();
       now.setDate(now.getDate() + 1);
       endVal = now.setHours(endArr[0], endArr[1], 0, 0);
     } else {
       endVal = (new Date()).setHours(endArr[0], endArr[1], 0, 0);
     }
     // 返回当前时间戳是否在时间范围内
     return nowVal >= starVal && nowVal < endVal
  } catch (e) {
    return true
  }
}

// 调用 假设现在时间9:00
businessTime()//true
businessTime('10:00','23:00')//false
businessTime('10:00','9:30')//true
businessTime('09:00','23:30')//true
businessTime('10:00','9:00')//false

posted on   八窍通了七窍一窍不通  阅读(442)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示