Start · Sprachen · JavaScript · Referenz · Date.prototype.getUTCMilliseconds()

Date.prototype.getUTCMilliseconds()

Methode

Gibt den Millisekundenanteil (0–999) eines <code>Date</code>-Objekts nach koordinierter Weltzeit (UTC) zurück.

seit JavaScript ES1 (Baseline: alle Browser) Kategorie: method-property

Signatur

Date.prototype.getUTCMilliseconds()

Beschreibung

getUTCMilliseconds() liefert den Millisekundenanteil eines Zeitpunkts als ganze Zahl zwischen 0 und 999. Gemeint ist nur der Bruchteil der aktuellen Sekunde, nicht die Gesamtzahl der Millisekunden seit der Unix-Epoche. Die bekommst du mit getTime().

Weil alle heute gebräuchlichen Zeitzonen-Offsets ganze Minuten sind, stimmt der Wert praktisch immer mit getMilliseconds() überein. Trotzdem ist die UTC-Variante die richtige Wahl, wenn du Zeitstempel zeitzonenunabhängig zerlegst, etwa beim Zusammenbauen eigener ISO-8601-Formate, beim Protokollieren (Logging) oder in Code, der auf dem Server und im Browser gleich laufen soll.

Die Methode nimmt keine Argumente und ändert das Date-Objekt nicht. Ist das Datum ungültig (Invalid Date), gibt sie NaN zurück.

Rückgabewert

Typ
number
Beschreibung
Ganze Zahl von 0 bis 999: der Millisekundenanteil nach UTC. Bei ungültigem Datum NaN.

Beispiele

Millisekunden aus einem ISO-Zeitstempel lesen

const d = new Date('2024-03-15T10:20:30.456Z');
console.log(d.getUTCMilliseconds());
456

Eigenes Log-Format mit Millisekunden (UTC)

const pad = (n, len = 2) => String(n).padStart(len, '0');

const logTime = (date = new Date()) =>
  `${pad(date.getUTCHours())}:${pad(date.getUTCMinutes())}:` +
  `${pad(date.getUTCSeconds())}.${pad(date.getUTCMilliseconds(), 3)}Z`;

console.log(logTime(new Date('2024-03-15T08:05:09.007Z')));
08:05:09.007Z

Unterschied zu getTime() und Verhalten bei ungültigem Datum

const d = new Date(Date.UTC(2024, 0, 1, 0, 0, 1, 250));
console.log(d.getTime());            // Millisekunden seit 1970
console.log(d.getUTCMilliseconds()); // nur Bruchteil der Sekunde

const invalid = new Date('kein Datum');
console.log(invalid.getUTCMilliseconds());
1704067201250 250 NaN

// Wichtig · Fallstricke

  • Nicht mit getTime() verwechseln: getUTCMilliseconds() gibt nur 0–999 zurück, nie die Epochen-Millisekunden.
  • Genauigkeit: Date rechnet nur mit ganzen Millisekunden. Nachkommastellen im Eingabestring, etwa .123456, werden abgeschnitten. Für feinere Messungen nimm performance.now().
  • Datenschutz: Einige Browser runden Zeitwerte absichtlich gröber, z. B. Firefox mit privacy.resistFingerprinting. Dann kann der Wert öfter 0 oder ein Vielfaches von 100 sein.
  • Ungültige Daten: Das Ergebnis ist NaN. Prüfe bei Bedarf vorher mit Number.isNaN(date.getTime()).
  • Funktioniert in allen Browsern und in Node.js. Bei zweistelligen Werten wie 7 musst du selbst auf drei Stellen auffüllen, z. B. mit padStart(3, '0').