Heim > Artikel > Web-Frontend > Warum gibt der JavaScript-Datumskonstruktor einen unerwarteten Monat zurück?
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!