2012-12-11 30 views
-1

你如何檢索小時和Date對象分鐘,然後顯示一個消息?如果時間在晚上9點到12點之間,我想顯示「我們已經關門」,否則我想顯示「我們正在開門」。JavaScript的檢查時間,並顯示消息

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

那你試試? – Neal

+0

我會使用setTimeout來顯示和刪除消息。 – EricG

+0

其中有作爲,如果你訪問晚上9點前的網站,你一直呆到晚上9時,它仍然會彈出@晚上9點的效果。 – EricG

回答

2

todayDate,所以你可以使用它的功能。在你的情況下,使用today.getHours()並檢查它是否是>= 12< 21顯示打開的消息。關閉的消息可以出現在else

注意,這裏使用了客戶的時間,所以如果你想利用這個網頁上全世界,那麼你可能在歐洲被打開,但在美國關閉了同一時間。

0

你可以得到分鐘和小時開始日期使用以下:

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

使用以下條件比較你的VAR H,並得到想要的結果:

if(h>= 12 && h<= 21) 
+0

請解釋downvote的原因以供將來參考。謝謝。 –

1

我不知道如果我得到「時間邏輯」正確(檢查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'); 
} 
+0

thx爲答案嗯它顯示我們已關閉,但如果我改變爲<= -21)它表明我們是開放的 – user1895103

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"); 
} 

你基本上你的時間轉換爲整數,較易進行比較(因此沒有那麼多可讀mantainable)