Get to know MDN better
Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
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 setMonth() des instances de Date modifie le mois et/ou le jour du mois pour cette date selon l'heure locale.
Un entier représentant le mois : 0 pour janvier, 1 pour février, etc.
dateValue FacultatifUn entier de 1 à 31 représentant le jour du mois.
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é.
Si vous ne définissez pas le paramètre dateValue, la même valeur que celle retournée par getDate() est utilisée.
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 15 pour monthValue, l'année est incrémentée de 1, et 3 est utilisé pour le mois.
Le jour du mois courant aura un impact sur le comportement de cette méthode. Conceptuellement, il ajoutera le nombre de jours donné par le jour du mois courant au premier jour du nouveau mois défini comme paramètre, pour retourner la nouvelle date. Par exemple, si la valeur courante est le 31 janvier 2016, appeler setMonth avec une valeur de 1 retournera le 2 mars 2016. Cela s'explique par le fait qu'en 2016, février avait 29 jours.
Comme setMonth() 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 de mois 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 de jours multipliée par 24 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 setUTCMonth() 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.
| ECMAScript® 2027 Language Specification # sec-date.prototype.setmonth |
Activez JavaScript pour afficher ce tableau de compatibilité des navigateurs.
Cette page a été modifiée le 20 févr. 2026 par les contributeur·ice·s du MDN.
Votre modèle pour un internet meilleur.
Visitez la société mère à but non lucratif de Mozilla Corporation, la Fondation Mozilla.
Certaines parties de ce contenu sont protégées par le droit d'auteur ©1998—2026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.