在项目中,我们经常遇到这样的问题:当前时间如处于某个时间段内,则允许进行一些操作,否则进行其他操作。
/**
* 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) 方法去掉,直接传入时间戳进行比较