Maison >interface Web >js tutoriel >Pourquoi getMonth() de JavaScript renvoie-t-il le mois précédent pour les dates de certains mois ?

Pourquoi getMonth() de JavaScript renvoie-t-il le mois précédent pour les dates de certains mois ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-19 13:18:29204parcourir

Why Does JavaScript's getMonth() Return the Previous Month for Dates in Some Months?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn