我有一个名为showbanner()的javascript函数,用于根据我们的营业时间更改图像的src。它适合年龄段......
function showbanner() {
now = new Date();
t = now.getUTCHours();
m = now.getUTCMinutes();
if (t>9 && t<17) document.getElementById('theImg').src="/Img/Open.png";
else document.getElementById('theImg').src="/Img/Closed.png";
}
但是,我们刚刚将开放时间从上午9点 - 下午5点更改为上午8点30分 - 下午5点,我不能在我的生活中找到如何在上述if语句中表达早上8点30分!
我可以这样做:
if ((t>8 && t<9 && m>30) && t<17)....
···
提前感谢您的帮助!
干杯, 马特
答案 0 :(得分:2)
function showbanner() {
var now = new Date();
var t = now.getUTCHours();
var m = now.getUTCMinutes();
if ((t > 8 || t === 8 && m <= 30) && t < 17) document.getElementById('theImg').src="/Img/Open.png";
else document.getElementById('theImg').src="/Img/Closed.png";
}
答案 1 :(得分:2)
你可以制作一个以军事时间格式存储时间的变量。
function showbanner() {
var now = new Date();
var t = now.getUTCHours();
var m = now.getUTCMinutes();
var mil = 100*t+m; // Military time
if (mil >= 830 && mil <= 1700) { // Between 8:30 AM and 5:00 PM
document.getElementById('theImg').src="/Img/Open.png";
} else {
document.getElementById('theImg').src="/Img/Closed.png";
}
}
这可以使未来的变化更容易。
答案 2 :(得分:0)
试试这个(将8:30转换为秒为510并检查(t * 60)+ m是否大于):
function showbanner() {
now = new Date();
t = now.getUTCHours();
m = now.getUTCMinutes();
if (((t*60) + m) >510 && t<17)
document.getElementById('theImg').src="/Img/Open.png";
else
document.getElementById('theImg').src="/Img/Closed.png";
}