js 判断当前时间是否处于某个时间段内

在项目中,我们经常遇到这样的问题:当前时间如处于某个时间段内,则允许进行一些操作,否则进行其他操作。

    /**
 * stime 开始时间 etime 结束时间nowTime1 选中日期
 */
compareTime (stime, etime, nowTime1) {
  // 转换时间格式,并转换为时间戳
  function tranDate (time) {
    return new Date(time.replace(/-/g, '/')).getTime();
  }
  // 开始时间
  let startTime = tranDate(stime);
  // 结束时间
  let endTime = tranDate(etime);
  let thisDate = nowTime1;
  // 根据选中日期传值,格式为 2018-9-10 20:08
  let currentTime = thisDate.getFullYear() + '-' + (thisDate.getMonth() + 1) + '-' + thisDate.getDate() + ' ' + thisDate.getHours() + ':' + thisDate.getMinutes();
  let nowTime = tranDate(currentTime);
  // 如果当前时间处于时间段内,返回true,否则返回false
  if (nowTime < startTime || nowTime > endTime) {
    return false;
  }
  return true;
}

Date 对象用于处理日期和时间

可以通过 new 关键词来定义 Date 对象。以下代码定义了名为 myDate 的 Date 对象:

 var myDate = new Date();

getTime() 方法可返回距 1970 年 1 月 1 日之间的毫秒数。

语法:

dateObject.getTime(); // 这里的dateObject便是 new 关键词 定义的 Date 对象,如myDate

  如果是时间戳格式      function tranDate (time) 方法去掉,直接传入时间戳进行比较
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。