2013-08-03 25 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,哈哈。我错过了那一个。 –

相关问题