在练习的过程中遇到了需要根据当前时间不同出现发生前、发生中、发生后三种情况的功能,在这里把自己用的方法整理一下:
大致思路是,获取当前的标准时间,然后将起始时间和终止时间(HH:MM:SS)都转换成标准时间,
进行比较后区分出三种情况
获取当前时间和拼接转换:
const getNowDate = () => {
let date = new Date();
var y = date.getFullYear();
var m =
date.getMonth() + 1 < 10 ?
"0" + (date.getMonth() + 1) :
date.getMonth() + 1;
var d = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
var formatdate = y + "-" + m + "-" + d;
return formatdate;
}
三种情况的区分:
const isDuringDate = (begin, end) => {
let date = getNowDate() // 获取当前日期 YYYY-MM-DD
// 获取当前时间
let curDate = new Date(),
beginDate = new Date(date + ' ' + begin), // 开始时间 拼接时间为YYYY-MM-DD HH:mm:ss
endDate = new Date(date + ' ' + end); // 结束时间
if(curDate < beginDate){
return 1;
}else if(curDate >= beginDate && curDate <= endDate){
return 2;
}else if(curDate > endDate){
return 3;
}
}
希望能为你带来帮助