在写项目时,要判断在某一时间段触发,一开始是想直接获取时间小时判断,但是发现有一些bug,事件触发的不对就又换了一种方法。
function checkAuditTime(beginTime, endTime) {
let nowDate = new Date();
let beginDate = new Date(nowDate);
let endDate = new Date(nowDate);
let beginIndex = beginTime.lastIndexOf('\:');
let beginHour = beginTime.substring(0, beginIndex);
let beginMinue = beginTime.substring(beginIndex + 1, beginTime.length);
beginDate.setHours(beginHour, beginMinue, 0, 0);
let endIndex = endTime.lastIndexOf('\:');
let endHour = endTime.substring(0, endIndex);
let endMinue = endTime.substring(endIndex + 1, endTime.length);
endDate.setHours(endHour, endMinue, 0, 0);
return nowDate.getTime() - beginDate.getTime() >= 0 && nowDate.getTime() <= endDate.getTime();
}
if (checkAuditTime('00:00', '8:20')) {
console.log('打卡');
} else {
console.log('不在时间段内');
}