Die Methode Date.prototype.getMilliseconds() gibt die Millisekunden-Komponente eines Date-Objekts in der lokalen Zeitzone zurück. Der Rückgabewert liegt zwischen 0 und 999 und ergänzt damit Sekunden, Minuten und Stunden zu einer vollständigen Zeitangabe mit feinster Auflösung. Entgegen einer häufigen Verwechslung liefert die Methode nicht den Unix-Zeitstempel – dafür ist getTime() zuständig. getMilliseconds() ist insbesondere relevant für Performance-Messungen, präzises Logging und für Animationen, die mit Sub-Sekunden-Genauigkeit arbeiten.

Funktionsweise

getMilliseconds() extrahiert ausschließlich den Millisekundenanteil – also den Bruchteil einer Sekunde – eines Date-Objekts. Wichtig zu wissen:

  • Wertebereich: 0 bis 999.
  • Nicht zu verwechseln mit getTime(), das Millisekunden seit dem 1. Januar 1970 UTC liefert.
  • Browser-Präzision: Aus Sicherheitsgründen (Spectre-Mitigation) reduzieren moderne Browser die Genauigkeit von Date.now() und damit indirekt auch von getMilliseconds() häufig auf 1–2 Millisekunden. Für hochpräzise Messungen ist performance.now() die bessere Wahl.

Syntax

JavaScript Syntax
date.getMilliseconds()

Die Methode erwartet keine Parameter.

Rückgabewert

Eine Ganzzahl zwischen 0 und 999, die den Millisekundenanteil des Zeitpunkts repräsentiert. Bei einem ungültigen Datum wird NaN zurückgegeben.

Beispiele

Millisekunden auslesen

JavaScript Beispiel
const date = new Date("2026-05-01T14:30:00.250");
console.log(date.getMilliseconds());
Output
250

Zeit präzise mit drei Stellen formatieren

Da getMilliseconds() einstellige oder zweistellige Werte ohne führende Nullen liefert, ist padStart() für eine konsistente Ausgabe üblich.

JavaScript Beispiel
function formatTimeMs(date) {
    const hh = String(date.getHours()).padStart(2, "0");
    const mm = String(date.getMinutes()).padStart(2, "0");
    const ss = String(date.getSeconds()).padStart(2, "0");
    const ms = String(date.getMilliseconds()).padStart(3, "0");
    return `${hh}:${mm}:${ss}.${ms}`;
}

console.log(formatTimeMs(new Date("2026-05-01T14:30:05.045")));
Output
14:30:05.045

Logging mit Millisekunden-Genauigkeit

Beim strukturierten Logging ist eine Millisekunden-Auflösung wichtig, um Ereignisse korrekt zu sortieren, die innerhalb derselben Sekunde stattfinden.

JavaScript Beispiel
function log(nachricht) {
    const now = new Date();
    const ms = String(now.getMilliseconds()).padStart(3, "0");
    console.log(`[${now.toISOString().slice(11, 19)}.${ms}] ${nachricht}`);
}

log("Verarbeitung gestartet");
Output
[14:30:05.123] Verarbeitung gestartet

Differenz zweier Zeitpunkte unter einer Sekunde

JavaScript Beispiel
const start = new Date("2026-05-01T10:00:00.150");
const ende  = new Date("2026-05-01T10:00:00.875");
const diff = ende.getMilliseconds() - start.getMilliseconds();
console.log(`${diff} ms`);
Output
725 ms

Hinweise & verwandte Methoden

  • Für Performance-Messungen ist performance.now() deutlich präziser als Date-basierte Verfahren – es nutzt eine monotone Uhr und ist nicht durch Systemzeit-Anpassungen gestört.
  • Die zeitzonenunabhängige Variante ist Date.prototype.getUTCMilliseconds() und liefert in der Praxis denselben Wert, da Zeitzonen nicht im Millisekundenbereich variieren.
  • Zum Setzen: Date.prototype.setMilliseconds(). Werte über 999 oder unter 0 führen zu einem Sekundenüberlauf.
  • Für Unix-Zeitstempel (Millisekunden seit Epoch) immer getTime() oder Date.now() verwenden, niemals getMilliseconds().
/ Weiter

Zurück zu Date

Zur Übersicht