Die Methode Date.prototype.setSeconds() setzt die Sekunden eines Date-Objekts in der lokalen Zeitzone. Optional kann auch der Millisekundenanteil im selben Aufruf festgelegt werden. Werte außerhalb von 0–59 führen zu einem Minutenüberlauf, was die Methode für Sekundenarithmetik wie „in 90 Sekunden” oder „vor 30 Sekunden” prädestiniert.

Funktionsweise

Werte außerhalb von 0–59 führen zu einem automatischen Überlauf in höhere Zeiteinheiten. Beispielsweise schaltet setSeconds(120) zwei Minuten weiter, setSeconds(-1) eine Sekunde zurück.

Die Methode mutiert die Date-Instanz und gibt zusätzlich den neuen Zeitstempel zurück. Sie ist besonders nützlich, wenn präzise Zeitintervalle gesetzt werden müssen, etwa für Polling, Throttling oder Timer-Logik.

Syntax

JavaScript Syntax
date.setSeconds(secondsValue)
date.setSeconds(secondsValue, msValue)
Parameter
secondsValue

Eine Ganzzahl von 0 bis 59, die die neue Sekunde angibt.

msValue

(Optional) Eine Ganzzahl von 0 bis 999.

Rückgabewert

Die Anzahl der Millisekunden seit dem 1. Januar 1970 UTC nach der Aktualisierung.

Beispiele

Sekunden setzen

JavaScript Beispiel
const date = new Date("2026-05-01T10:00:00");
date.setSeconds(45);
console.log(date.toLocaleTimeString("de-DE"));
Output
10:00:45

Minutenüberlauf

JavaScript Beispiel
const date = new Date("2026-05-01T10:00:00");
date.setSeconds(125);
console.log(date.toLocaleTimeString("de-DE"));
Output
10:02:05

Sekunden und Millisekunden zusammen setzen

JavaScript Beispiel
const date = new Date("2026-05-01T10:00:00.000Z");
date.setSeconds(30, 500);
console.log(date.toISOString());
Output
2026-05-01T10:00:30.500Z

Sekunden auf 0 setzen

Häufiger Anwendungsfall: einen Zeitstempel auf eine volle Minute runden.

JavaScript Beispiel
function rundeAufMinute(date) {
    const result = new Date(date);
    result.setSeconds(0, 0);
    return result;
}

const date = new Date("2026-05-01T10:00:42.873Z");
console.log(rundeAufMinute(date).toISOString());
Output
2026-05-01T10:00:00.000Z

Sekunden addieren

JavaScript Beispiel
const date = new Date("2026-05-01T10:00:00");
date.setSeconds(date.getSeconds() + 90);
console.log(date.toLocaleTimeString("de-DE"));
Output
10:01:30

Hinweise & verwandte Methoden

  • Für die UTC-Variante: Date.prototype.setUTCSeconds().
  • Für „in N Sekunden”: setSeconds(getSeconds() + N) ist das idiomatische Muster.
  • Beim Setzen auf eine volle Minute sollte gleichzeitig msValue auf 0 gesetzt werden, um saubere Zeitstempel zu erhalten.
  • Die Methode mutiert das Original.
/ Weiter

Zurück zu Date

Zur Übersicht