我正在尝试创建一个布尔函数来检查当前日期/小时是否为工作时间。现在知道工作时间是每周早上9点到下午5点,周五和周五除外。星期六,我遇到了我想出的问题。我认为我的代码适用于检查日期,但我也无法让它与小时一起工作。这是我的代码:
var dayOfWeek = now.getDay();
//weekday 0==Sunday 1==Monday 2==Tuesday 3==Wednesday 4==Thurs 5==Friday 6==Sat
//Not Friday or Saturday
if ((dayOfWeek != 5) && (dayOfWeek != 6)){
if (now.getHours() >= 9 && now.getHours() < 17 ) {
//Within working hours now."
}
else
{
//After working hours."
}
}
}
这是我在JSFiddle上的HTML代码测试:
http://jsfiddle.net/jp9BW/ 改变我的PC时钟工作。我的测试用例是从下午5点开始的工作日。这就是问题发生的时候。没有命中else块。
答案 0 :(得分:3)
我相信,这应该足够了
function isWorkingHour(now) {
return now.getDay() <= 4 && now.getHours() >= 9 && now.getHours() < 17;
}
答案 1 :(得分:2)
我会这样做
function checkOpeningTimes() {
let date = new Date(); // current time
let hours = date.getHours();
let day = date.getDay();
let openingDays = [ 0, 1, 2, 3, 4 ];
return openingDays.includes( day ) && hours >= 9 && hours <= 17;
}