外送类-间隔15分钟,计算事时间效果demo(整理)

简介: 外送类-间隔15分钟,计算事时间效果demo(整理)

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>根据当前时间+初定义间隔5分钟 时间间隔---是15的倍数</title>
  </head>
  <body>
    <div>
      当前时间 10:55
      间隔 30分钟
      营业时间 08:00 - 18:20
      列表: 11:25
      11:30
      11:45
      12:00
      ...
      ...
      18:00
      18:15
    </div>
    <script>
      // 14:43        23:50
      let nowTime = '2023-02-06 23:36'; //下单时间
      let jiange = 5; //间隔
      let startTime = '2023-02-06 14:43'; //设置开始时间
      let endTime = '2023-02-06 23:50'; //设置结束时间
      let arr = []
      let first = getDateNum(nowTime) + jiange * 60 * 1000
      arr.push(getTime(first))
      //获取下一个时间15分钟整点
      let s = nowTime.substring(11, 13)
      let f = nowTime.substring(14, 16)
      if (f <= 15) {
        f = '15'
      } else if (f <= 30) {
        f = '30'
      } else if (f <= 45) {
        f = '45'
      } else {
        f = '00'
        s = +s + 1
      }
      let 整点时间 = nowTime.substring(0, 11) + s + ':' + f
                //new Date(endTime.replace(/-/g, "/")-处理了ios手机时间兼容(可替换掉-getDateNum(endTime)
      let 剩余营业分钟 = (getDateNum(endTime) - getDateNum(nowTime)) / 1000 / 60
      let 剩余数量 = 剩余营业分钟 / 15
      for (var i = 0; i < 剩余数量; i++) {
        let time = getDateNum(整点时间) + i * 15 * 60 * 1000
        if (time >= first) {
          arr.push(getTime(time))
        }
      }
      console.log(arr);
      function getDateNum(s) {
        // .replace(/-/g, "/") 处理了ios手机时间兼容
        return new Date(s.replace(/-/g, "/")).getTime()
      }
      function getTime(date) {
        date = new Date(date)
        let Y = date.getFullYear(),
          M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1),
          D = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate()),
          h = (date.getHours() < 10 ? '0' + (date.getHours()) : date.getHours()),
          m = (date.getMinutes() < 10 ? '0' + (date.getMinutes()) : date.getMinutes()),
          s = (date.getSeconds() < 10 ? '0' + (date.getSeconds()) : date.getSeconds());
        return Y + '-' + M + '-' + D + ' ' + h + ':' + m + ':' + s
      }
    </script>
  </body>
</html>
相关文章
商品到计时-时间demo效果示例(整理)
商品到计时-时间demo效果示例(整理)
|
8月前
|
JavaScript
js根据一个时间计算N年后的时间-计算时间demo示例
js根据一个时间计算N年后的时间-计算时间demo示例
|
9月前
|
Python
python练习:输入一个时间,输出该时间经过5分30秒后的时间
输入一个时间,输出该时间经过5分30秒后的时间
296 0
|
9月前
|
JavaScript
JS 计算两个时间之间的间隔(天、时、分、秒)
JS 计算两个时间之间的间隔(天、时、分、秒)
81 0
|
10月前
|
JavaScript
js判断开始时间与结束时间不大于24小时的解决方案
js判断开始时间与结束时间不大于24小时的解决方案
209 0
|
11月前
|
Java Shell Perl
从 test.log 中截取当天的所有 gc 信息日志,并统计 gc 时间的平均值和时长最长的时间
从 test.log 中截取当天的所有 gc 信息日志,并统计 gc 时间的平均值和时长最长的时间
91 1
|
11月前
|
Java Shell Perl
从 test.log 中截取当天的所有 gc 信息日志,并统计 gc 时间的平均值和时长最长的时间。
从 test.log 中截取当天的所有 gc 信息日志,并统计 gc 时间的平均值和时长最长的时间。
46 0
|
11月前
|
Java BI
Java 某个起始时间,固定的累加天数,计算周期
Java 某个起始时间,固定的累加天数,计算周期
133 1
|
Java
java判断当前时间是否在某个时间区间内(可精确到毫秒)
java判断当前时间是否在某个时间区间内(可精确到毫秒)
700 0
java判断当前时间是否在某个时间区间内(可精确到毫秒)
|
开发者
计算代码的执行时长 | 学习笔记
快速学习计算代码的执行时长,介绍了计算代码的执行时长系统机制, 以及在实际应用过程中如何使用。
116 0