Die Methode Date.prototype.getTime() gibt die Anzahl der Millisekunden zurück, die zwischen dem 1. Januar 1970, 00:00:00 UTC (der Unix-Epoche) und dem repräsentierten Zeitpunkt liegen. Sie ist eine der wichtigsten Methoden des Date-Objekts und bildet die Grundlage für sämtliche Zeitarithmetik: Vergleiche, Differenzberechnungen, Klonen, Serialisierung. Anders als die statische Methode Date.now() arbeitet getTime() auf einer konkreten Date-Instanz und liefert deren internen Zeitwert.

Funktionsweise

Intern speichert ein Date-Objekt seinen Zustand als einzelne Zahl: die Millisekunden seit der Unix-Epoche. getTime() gibt genau diesen Wert zurück. Das hat mehrere Konsequenzen:

  • Zeitzone irrelevant: Der zurückgegebene Wert ist immer absolut und unabhängig von der lokalen Zeitzone.
  • Negative Werte: Möglich für Datumsangaben vor dem 1. Januar 1970.
  • Maximum: Date-Objekte können Zeitpunkte zwischen ±100.000.000 Tagen relativ zur Epoche abbilden – mehr als 273.000 Jahre in jede Richtung.
  • Ungültiges Datum: Liefert NaN. Das ist die zuverlässigste Methode, um die Gültigkeit eines Date-Objekts zu prüfen: Number.isNaN(date.getTime()).

getTime() ist äquivalent zu Date.prototype.valueOf() und wird automatisch beim numerischen Vergleich (<, >, -) zweier Date-Objekte aufgerufen.

Syntax

JavaScript Syntax
date.getTime()

Die Methode erwartet keine Parameter.

Rückgabewert

Eine Zahl, die die Millisekunden zwischen dem 1. Januar 1970, 00:00:00 UTC und dem Zeitpunkt der Date-Instanz repräsentiert. Bei einem ungültigen Datum wird NaN zurückgegeben.

Beispiele

Zeitstempel ermitteln

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

Differenz zwischen zwei Daten in Tagen

JavaScript Beispiel
function tageDifferenz(a, b) {
    const ms = b.getTime() - a.getTime();
    return Math.round(ms / (1000 * 60 * 60 * 24));
}

const start = new Date("2026-01-01");
const ende = new Date("2026-05-01");
console.log(tageDifferenz(start, ende));
Output
120

Date-Objekt klonen

Da Date-Objekte mutierbar sind, ist das Klonen ein häufiger Use Case. Über den Timestamp lässt sich das sauber lösen.

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

console.log(original.getFullYear());
console.log(klon.getFullYear());
Output
2026
2030

Vergleich zweier Daten

Date-Objekte direkt mit === zu vergleichen funktioniert nicht – sie sind nur referenzgleich, wenn es sich um dasselbe Objekt handelt. Über getTime() ist der Vergleich zuverlässig.

JavaScript Beispiel
const a = new Date("2026-05-01");
const b = new Date("2026-05-01");

console.log(a === b);
console.log(a.getTime() === b.getTime());
Output
false
true

Validierung eines Datums

JavaScript Beispiel
function istGueltig(date) {
    return !Number.isNaN(date.getTime());
}

console.log(istGueltig(new Date("2026-05-01")));
console.log(istGueltig(new Date("kein Datum")));
Output
true
false

Performance-Messung

Mit getTime() lassen sich grobe Laufzeitmessungen anstellen – für hochpräzise Messungen ist allerdings performance.now() die bessere Wahl.

JavaScript Beispiel
const start = new Date().getTime();
for (let i = 0; i < 1_000_000; i++) {}
const ende = new Date().getTime();
console.log(`Dauer: ${ende - start} ms`);
Output
Dauer: 4 ms

Hinweise & verwandte Methoden

  • Date.prototype.valueOf() liefert denselben Wert wie getTime() und wird automatisch beim numerischen Vergleich aufgerufen. Der Ausdruck dateB - dateA funktioniert daher direkt.
  • Die statische Methode Date.now() liefert den aktuellen Zeitstempel ohne Umweg über eine Date-Instanz – performanter, wenn nur die aktuelle Zeit benötigt wird.
  • Zum Setzen des absoluten Zeitwerts: Date.prototype.setTime().
  • Für hochpräzise Performance-Messungen ist performance.now() (monotone Uhr, Sub-Millisekunden-Auflösung) die richtige Wahl.
  • Achtung: Beim Speichern in JSON wird ein Date-Objekt als ISO-String serialisiert, nicht als Timestamp. Wer den Timestamp persistieren möchte, muss explizit getTime() aufrufen.
/ Weiter

Zurück zu Date

Zur Übersicht