Javascript时间条件介于上午11:40到下午12:20(11:40<12:20)之间



我尝试了下面的代码,但没有成功。

var hour = new Date().getHours();
var min = new Date().getMinutes();
if (hour >= 11 && hour <= 12 && min < 40 && min > 20) {
document.body.style.background = "green";
} else {
document.body.style.background = "red";
}

您在这里遇到了三个问题:

  1. 末端的额外}

  2. 未定义hours。我把它改为hour,它被定义为

  3. "=>":对于小时而言,这不是必需的。因为你只检查两个小时(11和12(,所以检查每个小时要简单得多,而且是分别检查分钟。

var hour = new Date().getHours();
var min = new Date().getMinutes();
if((hour == 11 && min >40) || hour == 12 && min < 20) {
document.body.style.background = "red";
} else {
document.body.style.background = "green";
}

这只是这个例子。

var hour = new Date().getHours();
var min = new Date().getMinutes();
if (hour >= 11 && hour <= 12 && (hour === 11 ? min > 40 : min < 20)) {
document.body.style.background = "red";
} else {
document.body.style.background = "green";
}

您可以使用javascript Date对象,并在开始时间、结束时间和当前时间之间与Date对象进行比较。

const date1 = new Date();
date1.setHours(11);
date1.setMinutes(40);
const date2 = new Date();
date2.setHours(12);
date2.setMinutes(20);
const today = new Date();
if (today >= date1 && today <= date2) {
document.body.style.background = "red";
} else {
document.body.style.background = "green";
}

您的逻辑出现了一些问题,所以我修复了它们。如果在上午11:40至下午12:20(含(之间:,则背景将变为红色

var hour = (new Date()).getHours();
var min = (new Date()).getMinutes();
if (hour == 11 && min >= 40 || hour == 12 && min <= 20) {
document.body.style.background = "red";
} else {
document.body.style.background = "green";
}

相关内容

最新更新