判断当前时间是00:00:00到08:30:00之间时,则将开始时间设置为昨天的20:30;
判断当前时间是08:30:01到20:30:59之间是,则将开始时间设置今天的08:30;
判断当前时间是20:30:01到23:59:59之间时,则将开始时间设置今天的20:30;
如下写法,验证发现当前时间大于20:01时,就将开始时间置为20:30了, 即20:01到20:30没有生效。
const now = new Date();
// 获取当前时间的小时、分钟和秒数
const hours = now.getHours();
const minutes = now.getMinutes();
const seconds = now.getSeconds();
let startDate = new Date(); // 设置开始时间
// 判断时间范围并设置开始时间
if (hours >= 0 && hours < 8 || (hours === 8 && minutes < 30) ) {
startDate.setDate(now.getDate() - 1); // 前一天的日期
startDate.setHours(20);
startDate.setMinutes(30);
startDate.setSeconds(0);
} else if (hours >= 8 && hours < 20 || (hours === 8 && minutes === 30) ) {
startDate.setHours(8);
startDate.setMinutes(30);
startDate.setSeconds(0);
} else if (hours >= 20 || (hours === 20 && minutes >= 30)) {
startDate.setHours(20);
startDate.setMinutes(30);
startDate.setSeconds(0);
}
var startTime = startDate;
//var endTime = now;
var endTime = new Date(startDate.getTime() + 12 * 60 * 60 * 1000);