2013-08-03 48 views
5

我想要一個JavaScript文件,檢查當前時間是否在晚上7點到早上7點。如果是這樣,它應該改變我的網站上的背景顏色爲X. 如果當前時間不在晚上7點到上午7點之間,背景顏色應該是Y. 由於我是Javascript新手,我不知道所有事情,這就是爲什麼我需要你的幫助!如果時間在晚上7點到7點之間,則使用Javascript嗎?

+0

'new Date()。getHours()'並在24小時內比較。 – elclanrs

+0

可能重複的[在11pm和早上7am在Javascript](http://stackoverflow.com/questions/14546193/between-11pm-and-7am-in-javascript) –

回答

12
var today = new Date().getHours(); 
if (today >= 7 && today <= 19) { 
    document.body.style.background = "Red"; 
} else { 
    document.body.style.background = "Blue"; 
} 

fiddle

+0

函數如何工作?如果我必須多次撥打電話,則功能更適合。 – Si8

+0

我不明白爲什麼它會得到所有的讚賞。如果開始時間是晚上7點,結束時間是早上7點(例如夜間),它將不起作用。 – Tengiz

1

這裏是JSBin

var currentTime = new Date().getHours(); 
if (currentTime >= 19 && currentTime <= 7) { 
    document.body.style.background = "/*your X color*/"; 
} else { 
    document.body.style.background = "/*your Y color*/"; 
} 
+0

爲什麼downvote(s),檢查張貼JSBin –

-1

這可以幫助你:

function checkTime() { 
     var d = new Date(); // current time 
     var hours = d.getHours(); 
     var mins = d.getMinutes(); 
     if(hours>=19 || hours <=7) 
      { 
       document.body.style.background="";//set background color x 
      } 
      else 
      { 
       document.body.style.background="";//set background color y 
      } 

    } 
+0

Nevermind,我誤解了這個問題。 –

0
var d = new Date(); 
var n = d.getHours(); //get the current local time's hour in military time (1..23) 

//If the time is greater than or equal to 7pm or less than or equal to 7am 
if (n >= 19 || n <= 7) { 
    //set background color to X 
} 
else { 
    //set background color to Y 
} 
+0

其實它的作用不管怎麼樣 – Spencer

+0

我的誤解 - 我把AM和PM之間的問題看成是PM和AM。對於那個很抱歉。 –

1

我建議使用對身體有類來管理風格,但在JavaScript處理的類。

基本上,您將使用Date類來獲得當前軍事時間(24小時)的小時。下午7點在軍事時間表示爲19。

var hour = new Date().getHours(); 

// between 7 PM and 7 AM respectively 
if(hour >= 19 || hour <= 7) { 
    document.body.className += 'between7'; 
} else { 
    document.body.className += 'notBetween7'; 
} 

然後在CSS中,您可以處理這些類。

body.between7 { 
    background-color: green; 
} 

body.notBetween7 { 
    background-color: red; 
} 
+0

也許是因爲問題要求在「晚上7點到早上7點」之間的時間,而不是相反。誰知道。我看到你在各處評論說他們錯誤地比較了這些值,但實際上你是犯了錯誤的人。 –

+0

好點@Felix,哈哈。我錯過了那一個。 –

相關問題