Maison  >  Article  >  interface Web  >  Pourquoi le constructeur de date JavaScript renvoie-t-il un mois inattendu ?

Pourquoi le constructeur de date JavaScript renvoie-t-il un mois inattendu ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-30 06:55:02875parcourir

Why Does the JavaScript Date Constructor Return an Unexpected Month?

Le constructeur de date JavaScript renvoie un mois inattendu

Lors de l'initialisation d'un objet date en JavaScript, les développeurs peuvent rencontrer des cas où le mois résultant diffère de leur mois réel. . Ce problème provient du système d'indexation des mois unique de JavaScript.

Dans de nombreux langages de programmation, les mois sont représentés par leur ordre conventionnel, commençant par 1 pour janvier et se terminant par 12 pour décembre. Cependant, JavaScript adopte un système d'indexation basé sur 0 depuis des mois. Cela signifie que le premier mois en JavaScript est janvier, représenté par 0, tandis que décembre est le 11ème mois.

Considérez l'extrait de code suivant :

<code class="javascript">var myDate = new Date(2012, 9, 23, 0, 0, 0, 0);</code>

Ici, l'intention est de créer un objet date pour le 23 septembre 2012. Cependant, la date résultante renvoyée par le constructeur est le 23 octobre 2012. Ce résultat inattendu vient du fait que JavaScript interprète le 9ème mois (index 9) comme le 10ème mois, ce qui correspond à octobre .

Pour remédier à ce problème, les développeurs doivent ajuster leur index mensuel en conséquence. Par exemple, pour créer un objet date JavaScript représentant le 23 septembre 2012, ils doivent utiliser :

<code class="javascript">var myDate = new Date(2012, 8, 23, 0, 0, 0, 0);</code>

Cette modification garantit que le mois correct est attribué à l'objet date.

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