外送类-间隔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>
相关文章
|
2月前
|
JavaScript 前端开发 Serverless
函数计算产品使用问题之打印日志时间与实际时间相差8小时,是什么原因
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
5月前
|
C语言
编写一个程序, 给出两个时间,计算出两个时间之差,如给出1120表示11:20,1330表示13:30, 将时间间隔以分钟为单位输出。
这是一个C语言程序,它接收两个时间(小时:分钟格式)作为输入,然后计算并输出两个时间之间的差值。代码包括输入处理、时间转换为分钟以及计算时间差。程序运行结果展示了一个具体的示例时间差。
32 0
|
JavaScript
js根据一个时间计算N年后的时间-计算时间demo示例
js根据一个时间计算N年后的时间-计算时间demo示例
|
JavaScript
uniapp 按时间排序当前以后七天时间
uniapp 按时间排序当前以后七天时间
188 1
|
Java BI
Java 某个起始时间,固定的累加天数,计算周期
Java 某个起始时间,固定的累加天数,计算周期
153 1
|
JavaScript
JS 计算两个时间之间的间隔(天、时、分、秒)
JS 计算两个时间之间的间隔(天、时、分、秒)
122 0
|
JavaScript
js判断开始时间与结束时间不大于24小时的解决方案
js判断开始时间与结束时间不大于24小时的解决方案
320 0
|
Java
java判断当前时间是否在某个时间区间内(可精确到毫秒)
java判断当前时间是否在某个时间区间内(可精确到毫秒)
812 0
java判断当前时间是否在某个时间区间内(可精确到毫秒)