Heim  >  Artikel  >  Web-Frontend  >  Warum gibt der JavaScript-Datumskonstruktor einen unerwarteten Monat zurück?

Warum gibt der JavaScript-Datumskonstruktor einen unerwarteten Monat zurück?

Linda Hamilton
Linda HamiltonOriginal
2024-10-30 06:55:02873Durchsuche

Why Does the JavaScript Date Constructor Return an Unexpected Month?

Der JavaScript-Datumskonstruktor gibt einen unerwarteten Monat zurück

Beim Initialisieren eines Datumsobjekts in JavaScript können Entwickler auf Fälle stoßen, in denen der resultierende Monat von ihrem Datum abweicht . Dieses Problem ergibt sich aus dem einzigartigen Monatsindexierungssystem von JavaScript.

In vielen Programmiersprachen werden Monate in ihrer herkömmlichen Reihenfolge dargestellt, beginnend mit 1 für Januar und endend mit 12 für Dezember. Allerdings verwendet JavaScript seit Monaten ein 0-basiertes Indexierungssystem. Das bedeutet, dass der erste Monat in JavaScript der Januar ist, dargestellt als 0, während der Dezember der 11. Monat ist.

Bedenken Sie den folgenden Codeausschnitt:

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

Hier besteht die Absicht zu erstellen ein Datumsobjekt für den 23. September 2012. Das vom Konstruktor zurückgegebene Ergebnisdatum ist jedoch der 23. Oktober 2012. Dieses unerwartete Ergebnis ergibt sich aus der Tatsache, dass JavaScript den 9. Monat (Index 9) als 10. Monat interpretiert, was mit Oktober übereinstimmt .

Um dieses Problem zu beheben, müssen Entwickler ihren Monatsindex entsprechend anpassen. Um beispielsweise ein JavaScript-Datumsobjekt zu erstellen, das den 23. September 2012 darstellt, sollten sie Folgendes verwenden:

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

Diese Änderung stellt sicher, dass dem Datumsobjekt der richtige Monat zugewiesen wird.

Das obige ist der detaillierte Inhalt vonWarum gibt der JavaScript-Datumskonstruktor einen unerwarteten Monat zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn