Date.prototype.setDate()

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 setDate() Methode von Date Instanzen ändert den Tag des Monats für dieses Datum entsprechend der lokalen Zeit.

Probieren Sie es aus

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

event.setDate(24);

console.log(event.getDate());
// Expected output: 24

event.setDate(32);
// Only 31 days in August!

console.log(event.getDate());
// Expected output: 1

Syntax

js
setDate(dateValue)

Parameter

dateValue

Ein ganzzahliger Wert, der den Tag des Monats darstellt.

Rückgabewert

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

Beschreibung

Wenn Sie eine Zahl außerhalb des erwarteten Bereichs angeben, werden die Datumsinformationen im Date Objekt entsprechend aktualisiert. Zum Beispiel, wenn das Date Objekt den 1. Juni enthält, ändert ein dateValue von 40 das Datum auf den 10. Juli, während ein dateValue von 0 das Datum auf den letzten Tag des vorherigen Monats, den 31. Mai, ändert.

Da setDate() mit der lokalen Zeit arbeitet, kann das Überschreiten einer Sommerzeitumstellung (Daylight Saving Time, DST) zu einem anderen als dem erwarteten Zeitunterschied führen. Zum Beispiel, wenn das Setzen des Datums eine Vorwärts-Umstellung im Frühjahr (eine Stunde weniger) überschreitet, ist die Differenz in den Timestamps zwischen dem neuen und dem alten Datum eine Stunde weniger als der nominelle Tagesunterschied multipliziert mit 24 Stunden. Umgekehrt führt das Überschreiten einer Rückwärts-Umstellung im Herbst (eine Stunde mehr) zu einer zusätzlichen Stunde. Wenn Sie das Datum um einen festen Zeitraum anpassen müssen, sollten Sie setUTCDate() oder setTime() in Betracht ziehen.

Wenn die neue lokale Zeit innerhalb eines Offset-Übergangs liegt, wird die genaue Zeit unter Verwendung desselben Verhaltens wie Temporal mit der disambiguation: "compatible" Option abgeleitet. Das bedeutet, dass, wenn die lokale Zeit zwei Instanzen entspricht, die frühere gewählt wird; wenn die lokale Zeit nicht existiert (es gibt eine Lücke), gehen wir um die Länge der Lücke vorwärts.

Beispiele

Verwendung von setDate()

js
const theBigDay = new Date(1962, 6, 7, 12); // noon of 1962-07-07 (7th of July 1962, month is 0-indexed)
const theBigDay2 = new Date(theBigDay).setDate(24); // 1962-07-24 (24th of July 1962)
const theBigDay3 = new Date(theBigDay).setDate(32); // 1962-08-01 (1st of August 1962)
const theBigDay4 = new Date(theBigDay).setDate(22); // 1962-07-22 (22nd of July 1962)
const theBigDay5 = new Date(theBigDay).setDate(0); // 1962-06-30 (30th of June 1962)
const theBigDay6 = new Date(theBigDay).setDate(98); // 1962-10-06 (6th of October 1962)
const theBigDay7 = new Date(theBigDay).setDate(-50); // 1962-05-11 (11th of May 1962)

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-date.prototype.setdate

Browser-Kompatibilität

Siehe auch