Heim  >  Artikel  >  Web-Frontend  >  Warum gibt getMonth() in JavaScript den vorherigen Monat für Datumsangaben in einigen Monaten zurück?

Warum gibt getMonth() in JavaScript den vorherigen Monat für Datumsangaben in einigen Monaten zurück?

Susan Sarandon
Susan SarandonOriginal
2024-10-19 13:18:29118Durchsuche

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

getMonth() von JavaScript gibt den vorherigen Monat zurück: Eine Datepicker-Anomalie

Unstimmigkeiten bei der Datumsextraktion aus einem Datepicker können rätselhaft sein. Insbesondere kann die Methode getMonth() den vorherigen Monat anstelle des erwarteten Monats zurückgeben. Um dieses Problem zu veranschaulichen:

<code class="javascript">var d1 = new Date("Sun Jul 7 00:00:00 EDT 2013");
console.log(d1.getMonth()); // Output: 6 (June)</code>

Den Grund enthüllen

Die Hauptursache liegt in der getMonth()-Methode von JavaScript, die Januar als Monat 0 und Dezember als Monat betrachtet 11. Wenn Sie also ein Date-Objekt für ein Datum im Juli erhalten, gibt die Methode getMonth() 6 zurück, was Juni angibt.

Behebung der Anomalie

Um dieses Problem zu beheben und die tatsächliche Monatsnummer zu erhalten, die dem angegebenen Datum entspricht, erhöhen Sie einfach das Ergebnis von getMonth() um 1.

<code class="javascript">console.log(d1.getMonth() + 1); // Output: 7 (July)</code>

Indem Sie 1 zur von getMonth() erhaltenen Monatsnummer hinzufügen, Sie können den gewünschten Monat genau erfassen.

Das obige ist der detaillierte Inhalt vonWarum gibt getMonth() in JavaScript den vorherigen Monat für Datumsangaben in einigen Monaten 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