代码如下:
/**
* @description 判断currentDate是否在timeQuantum区间内
* @param {String} currentDate 当前时间(比较的时间), 例: '2023-03-30 00:00:00'
* @param {Array} timeQuantum 时间段, 例: ['2023-03-30 00:00:00', '2023-04-30 00:00:00']
* @returns {Boolean} true在时间段内, false不在时间段内
* @example let isTrue = isTimeWithin('2023-03-30 00:00:00', ['2023-03-30 00:00:00', '2023-04-30 00:00:00'])
*/
function isTimeWithin(currentDate, timeQuantum) {
let isBetween = true;
let currentTime = new Date(currentDate);
let startTime = new Date(timeQuantum[0]);
let endTime = new Date(timeQuantum[1]);
let t1 = currentTime.getTime() - startTime.getTime();
let t2 = currentTime.getTime() - endTime.getTime();
if (t1 < 0 || t2 > 0) {
isBetween = false;
}
return isBetween;
}
console.log(isTimeWithin('2023-03-30 00:00:00', ['2023-03-30 00:00:00', '2023-04-30 00:00:00'])); /* true */
console.log(isTimeWithin('2023-03-20 00:00:00', ['2023-03-30 00:00:00', '2023-04-30 00:00:00'])); /* false */