Date : méthode setHours()
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
La méthode setHours() des instances de Date modifie les heures, les minutes, les secondes et/ou les millisecondes pour cette date selon l'heure locale.
Exemple interactif
const event = new Date("August 19, 1975 23:15:30");
event.setHours(20);
console.log(event);
// Résultat attendu : "Tue Aug 19 1975 20:15:30 GMT+0200 (CEST)"
// Remarque : votre fuseau horaire peut varier
event.setHours(20, 21, 22);
console.log(event);
// Résultat attendu : "Tue Aug 19 1975 20:21:22 GMT+0200 (CEST)"
Syntaxe
setHours(hoursValue)
setHours(hoursValue, minutesValue)
setHours(hoursValue, minutesValue, secondsValue)
setHours(hoursValue, minutesValue, secondsValue, msValue)
Paramètres
hoursValue-
Un entier compris entre 0 et 23 représentant les heures.
minutesValueFacultatif-
Un entier compris entre 0 et 59 représentant les minutes.
secondsValueFacultatif-
Un entier compris entre 0 et 59 représentant les secondes. Si vous indiquez
secondsValue, vous devez aussi indiquerminutesValue. msValueFacultatif-
Un entier compris entre 0 et 999 représentant les millisecondes. Si vous indiquez
msValue, vous devez aussi indiquerminutesValueetsecondsValue.
Valeur de retour
Modifie l'objet Date en place et retourne son nouveau timestamp. Si un paramètre vaut NaN (ou d'autres valeurs qui sont contraintes en NaN, comme undefined), la date est définie sur Date invalide et NaN est retourné.
Description
Si vous ne définissez pas les paramètres minutesValue, secondsValue et msValue, les mêmes valeurs que celles retournées par getMinutes(), getSeconds() et getMilliseconds() sont utilisées.
Si un paramètre que vous définissez est en dehors de la plage attendue, les autres paramètres et les informations de date dans l'objet Date sont mises à jour en conséquence. Par exemple, si vous définissez 100 pour secondsValue, les minutes sont incrémentées de 1 (minutesValue + 1), et 40 est utilisé pour les secondes.
Comme setHours() fonctionne selon l'heure locale, franchir une transition d'heure d'été (DST) peut entraîner un temps écoulé différent de celui attendu. Par exemple, si le changement d'heure franchit une transition d'avance du printemps (perte d'une heure), la différence de timestamps entre la nouvelle et l'ancienne date est inférieure d'une heure à la différence nominale d'heures. À l'inverse, franchir une transition de recul de l'automne (gain d'une heure) ajoute une heure supplémentaire. Si vous devez ajuster la date d'une durée fixe, envisagez d'utiliser setUTCHours() ou setTime().
Si la nouvelle heure locale tombe dans une transition de décalage, l'heure exacte est déterminée en utilisant le même comportement que l'option disambiguation: "compatible" de Temporal. C'est-à-dire, si l'heure locale correspond à deux instants, le plus tôt est choisi ; si l'heure locale n'existe pas (il y a un écart), on avance de la durée de l'écart.
Exemples
>Utiliser la méthode setHours()
const leGrandJour = new Date();
leGrandJour.setHours(7);
Spécifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-date.prototype.sethours> |
Compatibilité des navigateurs
Voir aussi
- La méthode
Date.prototype.getHours() - La méthode
Date.prototype.setUTCHours()