直接上代码吧
isDuringDate(beginDateStr, endDateStr){
if(!beginDateStr || !endDateStr) return false
let curDate = new Date(), beginDate = new Date(beginDateStr), endDate = new Date(endDateStr);
if(curDate >= beginDate && curDate < endDate){
return true
}
return false
}
// 调用
isDuringDate('2020/08/08 00:00','2020/09/05 00:00')
//第二种情况 在一段时间内(8月8号0点0分到9-4号23点59分) 并且在用户下单之后两个小时之内
isDuringDate(beginDateStr, endDateStr, orderTime){
if(!beginDateStr || !endDateStr || !orderTime) return false
let curDate = new Date(), beginDate = new Date(beginDateStr), endDate = new Date(endDateStr);
if(curDate >= beginDate && curDate < endDate && (curDate - new Date(orderTime) <= 7200000)){
return true
}
return false
},
//调用
that.isDuringDate('2020/08/08 00:00','2020/09/05 00:00','用户的下单时间')
如果你看了之后想为何new Data直接能拿来运算?
因为Js有隐式转换,作 - * / 运算、以及比较的时候 ‘< > == ’ 的时候它会先把两方转成相同的类型去做处理,所以他会把时间戳转成毫秒数然后去进行计算比较;(自我理解,有错指正)
特别提醒: “ + ” 运算符是拼接!