Javascript时间if语句8.30am

时间:2011-01-27 18:05:39

标签: javascript

我有一个名为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)....

···

提前感谢您的帮助!

干杯, 马特

3 个答案:

答案 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";
}