Maison >interface Web >js tutoriel >Pourquoi getMonth() de JavaScript renvoie-t-il le mois précédent pour les dates de certains mois ?
getMonth() de JavaScript renvoie le mois précédent : une anomalie de sélecteur de date
Rencontrer des divergences dans l'extraction de date à partir d'un sélecteur de date peut être déroutant. En particulier, la méthode getMonth() peut renvoyer le mois précédent au lieu de celui attendu. Pour illustrer ce problème :
<code class="javascript">var d1 = new Date("Sun Jul 7 00:00:00 EDT 2013"); console.log(d1.getMonth()); // Output: 6 (June)</code>
Dévoilement de la raison
La cause première réside dans la méthode getMonth() de JavaScript, qui considère janvier comme mois 0 et décembre comme mois 11. De ce fait, si vous obtenez un objet Date pour une date de juillet, la méthode getMonth() retournera 6, indiquant juin.
Rectifier l'anomalie
Pour résoudre ce problème et obtenir le numéro de mois réel correspondant à la date donnée, incrémentez simplement le résultat de getMonth() de 1.
<code class="javascript">console.log(d1.getMonth() + 1); // Output: 7 (July)</code>
En ajoutant 1 au numéro de mois obtenu de getMonth(), vous pouvez capturer avec précision le mois prévu.
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!