你如何檢索小時和Date
對象分鐘,然後顯示一個消息?如果時間在晚上9點到12點之間,我想顯示「我們已經關門」,否則我想顯示「我們正在開門」。JavaScript的檢查時間,並顯示消息
<script language="javascript">
<!--
today = new Date();
document.write('<BR>We are Open');
//-->
</script>
你如何檢索小時和Date
對象分鐘,然後顯示一個消息?如果時間在晚上9點到12點之間,我想顯示「我們已經關門」,否則我想顯示「我們正在開門」。JavaScript的檢查時間,並顯示消息
<script language="javascript">
<!--
today = new Date();
document.write('<BR>We are Open');
//-->
</script>
today
是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)
請解釋downvote的原因以供將來參考。謝謝。 –
我不知道如果我得到「時間邏輯」正確(檢查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');
}
thx爲答案嗯它顯示我們已關閉,但如果我改變爲<= -21)它表明我們是開放的 – user1895103
我通常使用這種解決方案,我張貼只是知識(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");
}
你基本上你的時間轉換爲整數,較易進行比較(因此沒有那麼多可讀mantainable)
那你試試? – Neal
我會使用setTimeout來顯示和刪除消息。 – EricG
其中有作爲,如果你訪問晚上9點前的網站,你一直呆到晚上9時,它仍然會彈出@晚上9點的效果。 – EricG