0

如何检索Date对象的小时和分钟,然后显示消息?如果时间在晚上 9 点到凌晨 12 点之间,我想显示“We are closed”,否则我想显示“We are open”。

<script language="javascript"> 
<!-- 
    today = new Date();
    document.write('<BR>We are Open');
//--> 
</script> 
4

4 回答 4

2

我不确定我的“时间逻辑”是否正确(检查 if 语句),但这应该是你要找的。

var objDate = new Date();
var hours = objDate.getHours();
if(hours >= 12 && hours <= 21){
    document.write('We Are Closed');
}
else{
    document.write('We are Open');
}
于 2012-12-11T16:13:35.617 回答
2

today是 a Date,所以你可以使用它的功能。在您的情况下,使用today.getHours()并检查它是否是>= 12< 21显示打开的消息。关闭的消息可以出现在else.

请注意,这会使用客户的时间,因此如果您在全球网页上使用它,那么您可能会在欧洲打开,但同时在美国关闭。

于 2012-12-11T16:09:40.253 回答
1

您可以使用以下方法获取日期后的分钟和小时数:

var d = new Date();
    var m = d.getMinutes();
    var h = d.getHours();

使用以下条件比较您的 var h 并获得所需的结果:

if(h>= 12 && h<= 21)
于 2012-12-11T16:10:40.260 回答
0

我通常使用这种解决方案,我只是为了知识而发布(pimvdb的答案确实更清楚)

var d = new Date();
var currtime = d.getHours() * 100 + d.getMinutes();

// now your currtime looks like 530 if it's 5.30am, or 1730 if it's 5.30 pm
// you can just do a simple comparison between ints

if (currtime > 2000 and currtime < 800){
    // closed between 20:00 (8 pm) and 8:00 (8 am) as an example
    alert("We are closed");
}

您基本上将您的时间转换为整数,使比较更容易(因此不那么可读和可维护)

于 2012-12-11T16:13:52.020 回答