2014-04-03 147 views
1

我有兩個問題需要使用javascript或jQuery來解決。Javascript時間比較

1)我需要測試當前時間是否在7am到7pm之間。

var now = new Date(); 
if (now >= *7am* && now < *7pm*){} else {} 

2)在文檔加載,我需要一個函數來在早上7點和晚上7點的日常運行。

任何幫助表示讚賞。


通過每15分鐘運行一次時間檢查來解決第2部分。

var checkTime = setInterval(myFunction(), 900000); 
+0

你找本地時間或特定的時間段? – attila

+0

@attila當地時間。 –

+0

這是一個建議。在Stack Overflow中,我們喜歡單獨的問題,而不是第1部分和第2部分。這樣,它對其他人更有用。問題的第二部分非常有趣。每15分鐘檢查一次肯定會有更好的答案。 –

回答

1

您可以使用var currentHour = (new Date()).getHours();檢索特定小時爲0到23之間的整數,根據環境的本地時區:

var currentHour = (new Date()).getHours(); 
if (currentHour >= 7 && currentHour < 19) { /* stuff */ } else { /* other stuff } 

如果您需要獲取UTC,則有.getUTCHours()方法。

的文檔有更多的信息,如果你有興趣:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getHours

+0

不,爲什麼呢? 0 ==午夜,1 == 1am,... 7 = 7am。 – L0j1k

+0

哎呀,對不起,刪除我的評論,但是,我沒有意識到小時開始於0,而不是1 –

+0

任何想法,我如何可以自動運行每7am和7pm? –

1

Date.getHours

$(function(){ 
    var now = new Date(); 
    var hours = now.getHours(); 
    if (hours >= 7 && now < hours < 19){} else {} 
}); 
+0

您錯誤地輸入了「now.getHours()」。謝謝你的答案。 –