Ajouter des mois à une date en JavaScript #
Pour ajouter des mois à une date :
- Utilisez le bouton
getMonth()
pour obtenir une valeur nulle pour le mois de la date donnée.
date donnée. - Utilisez la méthode
setMonth()
pour définir le mois de la date. - Le site
setMonth
prend un nombre entier basé sur zéro pour le mois et définit la valeur
valeur pour la date.
function addMonths(numOfMonths, date = new Date()) {
date.setMonth(date.getMonth() + numOfMonths);
return date;
}
const result = addMonths(2);
const date = new Date('2022-02-24');
console.log(addMonths(3, date));
Nous avons créé une fonction réutilisable qui prend le nombre de mois et une valeur de Date
et ajoute les mois à la date.
Si aucun Date
n’est fourni à la fonction, celle-ci utilise la date du jour.
Le site
getMonth()
retourne un nombre entier compris entre 0
(janvier) et 11
(décembre),
représentant le mois de la date donnée.
Notez que la valeur est basée sur zéro, par exemple, janvier = 0, février = 1, mars = 2, etc.
Le site
setMonth()
prend une valeur basée sur zéro représentant le mois de l’année (0 = janvier,
1 = février, etc.) et définit la valeur de la date.
Le langage JavaScript Date
prend automatiquement en charge le passage à l’année suivante
si l’ajout de X mois à une date nous fait passer à l’année suivante.
const date = new Date('2022-12-24');
date.setMonth(date.getMonth() + 3);
console.log(date);
Nous avons ajouté 3
mois à la date, ce qui nous a poussé dans l’année suivante et le
Date
s’est automatiquement occupé de la mise à jour de l’année.
Notez que l’objet setMonth
modifie la méthode Date
sur lequel elle a été appelée. Si vous ne souhaitez pas modifier l’objet Date
en place, vous pouvez en créer une copie avant d’appeler la méthode.
function addMonths(numOfMonths, date = new Date()) {
const dateCopy = new Date(date.getTime());
dateCopy.setMonth(dateCopy.getMonth() + numOfMonths);
return dateCopy;
}
const date = new Date('2022-02-24');
const result = addMonths(1, date);
console.log(result);
console.log(date);
Le site
getTime
renvoie le nombre de millisecondes écoulées entre le 1er janvier 1970
00:00:00 et la date donnée.
Nous avons utilisé l’horodatage pour créer une copie du fichier Date
afin de ne pas le modifier sur place lors de l’appel de la fonction setMonth
méthode.
La copie de la date est très utile lorsque vous devez utiliser l’original. Date
objet
original à d’autres endroits dans votre code.
En général, la mutation des arguments de fonction est une mauvaise pratique, car passer le même paramètre à la même fonction plusieurs fois produit des résultats différents.
Vous pouvez voir l’icône setMonth
utilisée avec 2
paramètres. Les paramètres que la
méthode sont les suivants :
month
– une valeur basée sur un zéro (0 = janvier, 1 = février, etc.) pour le mois
de l’année.day of month
(facultatif) – un nombre entier compris entre1
à31
qui représente le
jour du mois.
Le site day of the month
est facultatif, et lorsqu’il n’est pas spécifié, la valeur
renvoyée par la getDate()
est utilisée.