Date.prototype.setMonth()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Die setMonth()-Methode von Date-Instanzen ändert den Monat und/oder Tag des Monats für dieses Datum gemäß der lokalen Zeit.

Probieren Sie es aus

const event = new Date("August 19, 1975 23:15:30");

event.setMonth(3);

console.log(event.getMonth());
// Expected output: 3

console.log(event);
// Expected output: "Sat Apr 19 1975 23:15:30 GMT+0100 (CET)"
// Note: your timezone may vary

Syntax

js
setMonth(monthValue)
setMonth(monthValue, dateValue)

Parameter

monthValue

Eine ganze Zahl, die den Monat repräsentiert: 0 für Januar, 1 für Februar und so weiter.

dateValue Optional

Eine ganze Zahl von 1 bis 31, die den Tag des Monats repräsentiert.

Rückgabewert

Ändert das Date-Objekt direkt und gibt dessen neuen Zeitstempel zurück. Wenn ein Parameter NaN ist (oder andere Werte, die zu NaN umgewandelt werden, wie undefined), wird das Datum auf Invalid Date gesetzt und NaN zurückgegeben.

Beschreibung

Wenn Sie den Parameter dateValue nicht angeben, wird derselbe Wert verwendet, der durch getDate() zurückgegeben wird.

Wenn ein von Ihnen angegebener Parameter außerhalb des erwarteten Bereichs liegt, werden andere Parameter und die Datumsinformationen im Date-Objekt entsprechend aktualisiert. Zum Beispiel wird bei Angabe von 15 für monthValue das Jahr um 1 erhöht und 3 für den Monat verwendet.

Der aktuelle Tag des Monats hat Einfluss auf das Verhalten dieser Methode. Konzeptionell addiert sie die Anzahl der Tage, die durch den aktuellen Tag des Monats gegeben sind, zum ersten Tag des neuen Monats, der als Parameter angegeben wird, um das neue Datum zurückzugeben. Wenn zum Beispiel der aktuelle Wert der 31. Januar 2016 ist, wird ein Aufruf von setMonth mit einem Wert von 1 den 2. März 2016 zurückgeben. Dies liegt daran, dass der Februar im Jahr 2016 29 Tage hatte.

Beispiele

Verwendung von setMonth()

js
const theBigDay = new Date();
theBigDay.setMonth(6);

//Watch out for end of month transitions
const endOfMonth = new Date(2016, 7, 31);
endOfMonth.setMonth(1);
console.log(endOfMonth); //Wed Mar 02 2016 00:00:00

Spezifikationen

Specification
ECMAScript® 2025 Language Specification
# sec-date.prototype.setmonth

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch