Pourquoi getMonth() de JavaScript renvoie-t-il le mois précédent ?
Lors de l'utilisation d'un sélecteur de date qui fournit une date au format "Dim. 7 juillet 00:00:00 EDT 2013", vous remarquerez peut-être que la méthode getMonth() renvoie le mois précédent. Par exemple, l'extrait de code ci-dessous :
var d1 = new Date("Sun Jul 7 00:00:00 EDT 2013"); d1.getMonth(); //gives 6 instead of 7
La raison :
La raison de cet écart réside dans le fait que la méthode getMonth() de JavaScript attribue aux mois un indice de base zéro. Par conséquent, janvier se voit attribuer la valeur 0, février la valeur 1, et ainsi de suite. Lorsque vous appelez getMonth() à une date représentant juillet, il renvoie en fait la valeur du mois de juin (6).
Solution :
Pour obtenir le bon mois, vous pouvez utilisez le code ajusté suivant :
d1.getMonth() + 1; //returns the correct month, which is 7 for July
En ajoutant 1 au résultat de getMonth(), vous décalez l'index de base zéro et obtenez le mois selon la convention du calendrier.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!