如何检索Date
对象的小时和分钟,然后显示消息?如果时间在晚上 9 点到凌晨 12 点之间,我想显示“We are closed”,否则我想显示“We are open”。
<script language="javascript">
<!--
today = new Date();
document.write('<BR>We are Open');
//-->
</script>
如何检索Date
对象的小时和分钟,然后显示消息?如果时间在晚上 9 点到凌晨 12 点之间,我想显示“We are closed”,否则我想显示“We are open”。
<script language="javascript">
<!--
today = new Date();
document.write('<BR>We are Open');
//-->
</script>
我不确定我的“时间逻辑”是否正确(检查 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');
}
today
是 a Date
,所以你可以使用它的功能。在您的情况下,使用today.getHours()
并检查它是否是>= 12
并< 21
显示打开的消息。关闭的消息可以出现在else
.
请注意,这会使用客户的时间,因此如果您在全球网页上使用它,那么您可能会在欧洲打开,但同时在美国关闭。
您可以使用以下方法获取日期后的分钟和小时数:
var d = new Date();
var m = d.getMinutes();
var h = d.getHours();
使用以下条件比较您的 var h 并获得所需的结果:
if(h>= 12 && h<= 21)
我通常使用这种解决方案,我只是为了知识而发布(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");
}
您基本上将您的时间转换为整数,使比较更容易(因此不那么可读和可维护)