使用new Date()比较00h时的日期



我有这段代码,除了与午夜相比,它运行良好。23小时应评估为<=00小时以上。在这种情况下,我只是使用整数,因为getHours()也返回一个整数。正确的处理方法是什么?

var starting_hour = 23;
var ending_hour = new Date().getHours() //0
console.log(starting_hour <= ending_hour); //23 <= 0 false 

ending_hour0时,将其替换为24,然后进行检查。

var ending_hour = new Date().getHours();
if (ending_hour == 0) {
ending_hour = 24;
}
console.log(check_adhour >= starting_hour && check_adhour <= ending_hour);

谢谢,我用了一小段代码来重现这个问题。我需要进行评估,比如if(check_adhur>=starting_hour&&check_adhir<=ending_hour({},所以这不会解决问题

则您的逻辑不同:

const checkHour = (check_adhour, starting_hour, ending_hour) => (starting_hour < ending_hour) ? 
check_adhour >= starting_hour && check_adhour <= ending_hour : 
check_adhour >= starting_hour || check_adhour <= ending_hour;

通常你会尝试检查check_adhour是否在开始和结束之间,但在晚上,当start > end时,你想排除它们之间的时间,并采取其他一切;开始后的晚上,结束前的早晨。

最新更新