web-dev-qa-db-fra.com

Javascript si l'heure est entre 19h et 7h du matin, faites-le?

Je veux avoir un fichier javascript qui vérifie si l'heure actuelle est entre 19h et 7h. Si c'est le cas, cela devrait changer la couleur d'arrière-plan sur mon site Web en X. Si l'heure actuelle n'est pas entre 19 heures et 7 heures du matin, la couleur d'arrière-plan devrait être Y. Puisque je suis nouveau sur Javascript, je ne sais pas tout, et c'est pourquoi j'ai besoin de votre aide !

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

Voir violon .

33
Nev

Je suggère d'utiliser une classe sur le corps pour gérer le style, mais gérer les classes en JavaScript.

Essentiellement, vous utiliserez la classe Date pour obtenir l'heure actuelle en heure militaire (24 heures). 7 PM est représenté comme 19 en temps militaire.

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';
}

Ensuite, en CSS, vous pouvez gérer ces classes.

body.between7 {
    background-color: green;
}

body.notBetween7 {
    background-color: red;
}
3
Austin Brunkhorst

Voici 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*/";
}
2
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