Die Methode Date.prototype.setTime() ersetzt den gesamten Zeitwert eines Date-Objekts durch einen neuen Zeitstempel in Millisekunden seit dem 1. Januar 1970 UTC. Sie ist die schnellste Möglichkeit, ein Date-Objekt komplett auf einen anderen Zeitpunkt umzustellen, ohne ein neues Objekt zu erzeugen. Im Vergleich zu spezialisierten Settern wie setHours() oder setDate() arbeitet setTime() auf der niedrigsten Abstraktionsebene und ist daher prädestiniert für das Klonen, das Verschieben um konstante Intervalle und das Zurücksetzen einer bestehenden Date-Variable.

Funktionsweise

setTime() überschreibt den internen Zeitstempel der Date-Instanz vollständig. Negative Werte sind erlaubt und repräsentieren Datumsangaben vor 1970. Die Methode ist die symmetrische Gegenstück-Operation zu getTime():

  • dateB.setTime(dateA.getTime()) macht dateB strukturell identisch zu dateA (klonen).
  • date.setTime(0) setzt das Datum auf den 1. Januar 1970, 00:00:00 UTC zurück.
  • date.setTime(NaN) invalidiert das Date-Objekt.

Im Unterschied zu Methoden wie setHours() oder setDate() gibt es bei setTime() keine Normalisierung – der übergebene Wert ist direkt der neue interne Zustand.

Syntax

JavaScript Syntax
date.setTime(timeValue)
Parameter
timeValue

Eine Zahl, die die Millisekunden seit dem 1. Januar 1970, 00:00:00 UTC angibt. Negative Werte sind möglich. NaN invalidiert das Date-Objekt.

Rückgabewert

Der gesetzte Zeitstempel als Zahl (timeValue).

Beispiele

Auf einen bekannten Zeitpunkt setzen

JavaScript Beispiel
const date = new Date();
date.setTime(1777593600000);
console.log(date.toISOString());
Output
2026-05-01T00:00:00.000Z

Date-Objekt klonen

JavaScript Beispiel
const original = new Date("2026-05-01");
const klon = new Date();
klon.setTime(original.getTime());

console.log(klon.toISOString().slice(0, 10));
Output
2026-05-01

7 Tage zum aktuellen Zeitpunkt addieren

JavaScript Beispiel
const date = new Date("2026-05-01T00:00:00Z");
date.setTime(date.getTime() + 7 * 24 * 60 * 60 * 1000);
console.log(date.toISOString().slice(0, 10));
Output
2026-05-08

Auf Unix-Epoche zurücksetzen

JavaScript Beispiel
const date = new Date();
date.setTime(0);
console.log(date.toISOString());
Output
1970-01-01T00:00:00.000Z

Negativen Zeitstempel setzen

JavaScript Beispiel
const date = new Date();
date.setTime(-1000 * 60 * 60 * 24 * 365);
console.log(date.toISOString());
Output
1969-01-01T00:00:00.000Z

Date invalidieren

JavaScript Beispiel
const date = new Date("2026-05-01");
date.setTime(NaN);
console.log(date.getTime());
Output
NaN

Hinweise & verwandte Methoden

  • setTime() ist die natürliche Umkehrung zu getTime().
  • Im Gegensatz zu new Date(timestamp) erzeugt setTime() kein neues Objekt – die ursprüngliche Referenz bleibt erhalten. Das ist wichtig, wenn das Date in mehreren Stellen referenziert wird.
  • Für relativ verschobene Zeitpunkte (z. B. „in 7 Tagen”) ist setTime(getTime() + N) zuverlässiger als setDate(getDate() + 7), wenn die Berechnung in UTC erfolgen soll.
  • setTime(NaN) invalidiert das Date – ein Trick, um ein Date-Objekt explizit als „ungültig” zu markieren.
/ Weiter

Zurück zu Date

Zur Übersicht