Maison > interface Web > js tutoriel > le corps du texte

Pourquoi le constructeur de date de JavaScript renvoie-t-il octobre lorsque je fournis 9 pour le mois ?

Patricia Arquette
Libérer: 2024-10-30 17:22:03
original
864 Les gens l'ont consulté

Why Does JavaScript's Date Constructor Return October When I Provide 9 for the Month?

Naviguer dans les écarts de mois dans le constructeur de dates de JavaScript

Lorsque vous travaillez avec des dates en JavaScript, il est crucial de comprendre la particularité de la façon dont les mois sont indexés. Une requête récente sur Mozilla Firefox Firebug a soulevé des inquiétudes :

var myDate = new Date(2012, 9, 23, 0, 0, 0, 0);
console.log(myDate);
Copier après la connexion

Sortie :

Date {Tue Oct 23 2012 00:00:00 GMT-0400 (Eastern Daylight Time)}
Copier après la connexion

En fouillant l'écart, l'utilisateur a observé un résultat inattendu : JavaScript a renvoyé une date en octobre au lieu de Septembre, comme prévu.

Dévoiler la vérité : l'indexation base zéro

La clé réside dans l'indexation base zéro utilisée par le constructeur Date de JavaScript pendant des mois. Dans ce schéma d'indexation, les mois commencent par 0 pour janvier et 11 représente décembre. Par conséquent, l'index mensuel transmis dans le constructeur (9) correspond en fait à octobre et non à septembre.

Clarification avec les références :

Le Mozilla Developer Network (MDN) fournit des conseils explicites :

month: Integer value representing the month, beginning with 0 for January to 11 for December.
Copier après la connexion

De plus, la spécification du langage ECMAScript offre un aperçu technique :

7. Let mn be ?(ℝ(m) modulo 12).
Copier après la connexion

Cette ligne explique que la saisie du mois subit une opération modulo avec 12, enveloppant efficacement l'index du mois dans la plage de 0. à 11.

Par conséquent, lors de la construction d'une date en JavaScript, il est essentiel de se rappeler que les mois sont indexés à zéro pour éviter toute confusion ou résultat inattendu.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal