Signatur
Beschreibung
getMilliseconds() liefert den Millisekundenanteil eines Date-Objekts als ganze Zahl von 0 bis 999. Gemeint ist nur der Anteil innerhalb der aktuellen Sekunde. Die Gesamtzahl der Millisekunden seit der Unix-Epoche bekommst du mit getTime().
Die Methode rechnet offiziell in Ortszeit. Weltweit verwendete Zeitzonen-Verschiebungen sind aber ganze Minuten, deshalb liefert sie in der Praxis immer denselben Wert wie getUTCMilliseconds().
Typische Einsätze sind Zeitstempel mit Millisekunden für Logs, eigene Datumsformate wie HH:MM:SS.mmm oder einfache Zeitmessungen. Für genaue Messungen eignet sich performance.now() besser.
Rückgabewert
0 und 999 mit den Millisekunden in Ortszeit. Bei einem ungültigen Datum ist das Ergebnis NaN.Beispiele
Millisekunden eines festen Datums auslesen
const datum = new Date(2024, 2, 15, 10, 30, 45, 123);
console.log(datum.getMilliseconds());
Log-Zeitstempel im Format HH:MM:SS.mmm
const zeitstempel = (d = new Date()) => {
const pad = (n, len = 2) => String(n).padStart(len, '0');
return `${pad(d.getHours())}:${pad(d.getMinutes())}:${pad(d.getSeconds())}.${pad(d.getMilliseconds(), 3)}`;
};
const log = (msg) => console.log(`[${zeitstempel()}] ${msg}`);
log('Server gestartet');
Ungültiges Datum und Überlauf beim Setzen
const ungueltig = new Date('kein Datum');
console.log(ungueltig.getMilliseconds());
// Werte über 999 laufen in die Sekunden über
const d = new Date(2024, 0, 1, 12, 0, 0, 0);
d.setMilliseconds(1500);
console.log(d.getSeconds(), d.getMilliseconds());
// Wichtig · Fallstricke
- Nicht verwechseln:
getMilliseconds()liefert nur 0–999. Für Epochen-Millisekunden verwendest dugetTime()oderDate.now(). - Bei ungültigen Datumsobjekten ist das Ergebnis
NaN. Prüfe das vor der Formatierung mitNumber.isNaN(d.getTime()). Sonst erzeugtpadStartAusgaben wie"NaN". - Genauigkeit: Manche Browser runden Zeitwerte zum Schutz vor Timing-Angriffen und Fingerprinting ab, z. B. Firefox mit
privacy.resistFingerprinting. Die Millisekunden können dann auf 0 oder grobe Schritte fallen. - Für Zeitmessungen ist
performance.now()genauer. Es läuft außerdem gleichmäßig weiter, auch wenn jemand die Systemuhr umstellt. - Die Methode wird in allen Browsern und in Node.js unterstützt.