我试图显示,如果一个商店是开放的或没有,在他们的网站。这家商店每周7天营业,从07:30到22:00。现在,在这个回答(JSFiddle)的帮助下,我可以每天从07:00到22:00显示它。但我不能让它从07:30开始,最好的方法是什么?
Javascript:
var checkOpenStatus = function () {
var d = new Date();
var date = d.getHours();
if ((date > 9) && (date < 20)) {
y = "<span style=\"color:#07ed11\">We're Open!</span>";
} else {
y = "<span style=\"color:#fc4b1c\">Sorry we're Closed.</span>";
}
document.getElementById("open-close").innerHTML = y;
};
checkOpenStatus();<div id="open-close"></div>发布于 2017-07-13 07:52:58
如果时间是9,那么还需要检查分钟是否大于30。
var d = new Date();
var h = d.getHours();
var m = d.getMinutes();
if ((h > 9 || (h == 9 && m >= 30)) && (h < 20)) {下面是函数的自定义版本,它注入日期来证明逻辑。运行脚本并检查控制台。
var checkOpenStatus = function (d) {
//var d = new Date();
var h = d.getHours();
var m = d.getMinutes();
if ((h > 9 || (h == 9 && m >= 30)) && (h < 20)) {
y = "<span style=\"color:#07ed11\">We're Open!</span>";
} else {
y = "<span style=\"color:#fc4b1c\">Sorry we're Closed.</span>";
}
console.log(d, y);
};
checkOpenStatus(new Date(2017, 1, 1, 9, 0));
checkOpenStatus(new Date(2017, 1, 1, 9, 10));
checkOpenStatus(new Date(2017, 1, 1, 9, 20));
checkOpenStatus(new Date(2017, 1, 1, 9, 30));
checkOpenStatus(new Date(2017, 1, 1, 9, 40));
checkOpenStatus(new Date(2017, 1, 1, 10, 40));
checkOpenStatus(new Date(2017, 1, 1, 20, 00));
checkOpenStatus(new Date(2017, 1, 1, 23, 00));
https://stackoverflow.com/questions/45074511
复制相似问题