Start · Sprachen · JavaScript · Referenz · Temporal.PlainTime.prototype.microsecond

Temporal.PlainTime.prototype.microsecond

Eigenschaft

Liefert die Mikrosekunden-Komponente (10<sup>-6</sup> s) einer <code>Temporal.PlainTime</code> als ganze Zahl von 0 bis 999.

seit JavaScript Temporal (Stage 3/ES-Vorschlag) – Firefox 139+, Ch Kategorie: method-property

Signatur

get Temporal.PlainTime.prototype.microsecond

Beschreibung

Die Zugriffs-Eigenschaft microsecond gibt den Mikrosekunden-Anteil einer Uhrzeit zurück, die als Temporal.PlainTime dargestellt ist. Der Wert ist eine ganze Zahl zwischen 0 und 999. Er deckt nur die drei Nachkommastellen ab, die zwischen den Millisekunden und den Nanosekunden liegen. Bei der Uhrzeit 12:30:45.123456789 ist millisecond gleich 123, microsecond gleich 456 und nanosecond gleich 789.

Die Eigenschaft ist nur lesbar, weil Temporal-Objekte unveränderlich sind. Eine Zuweisung hat keine Wirkung. Im Strict Mode löst sie einen TypeError aus. Einen geänderten Wert erhältst du mit with({ microsecond: … }): Die Methode gibt eine neue PlainTime zurück.

Einsatzgebiete sind hochauflösende Zeitstempel, zum Beispiel aus Messdaten, Logs oder Datenbanken wie PostgreSQL, die Mikrosekunden speichern. Ein weiterer Anwendungsfall ist das eigene Formatieren von Sekundenbruchteilen.

Rückgabewert

Typ
number
Beschreibung
Ganze Zahl von 0 bis 999: die Mikrosekunden innerhalb der aktuellen Millisekunde.

Beispiele

Sekundenbruchteile zerlegen

const zeit = Temporal.PlainTime.from('12:30:45.123456789');

console.log(zeit.millisecond);
console.log(zeit.microsecond);
console.log(zeit.nanosecond);
123 456 789

Mikrosekunden mit with() ändern

const start = Temporal.PlainTime.from('08:15:00.000250');
console.log(start.microsecond);

// Neues Objekt – das Original bleibt unverändert
const korrigiert = start.with({ microsecond: 999 });
console.log(korrigiert.toString());
console.log(start.toString());
250 08:15:00.000999 08:15:00.00025

Gesamte Mikrosekunden innerhalb der Sekunde berechnen

const t = new Temporal.PlainTime(23, 59, 59, 42, 17, 500);

// Millisekunden und Mikrosekunden zu einem Wert zusammenfassen
const usInSekunde = t.millisecond * 1000 + t.microsecond;
console.log(usInSekunde);
console.log(`.${String(usInSekunde).padStart(6, '0')}`);
42017 .042017

Überlauf beim Addieren

const t = Temporal.PlainTime.from('10:00:00.000999');
const spaeter = t.add({ microseconds: 2 });

console.log(spaeter.millisecond, spaeter.microsecond);
1 1

// Wichtig · Fallstricke

  • Nicht mit dem gesamten Sekundenbruchteil verwechseln: microsecond enthält nur die Stellen 4–6 nach dem Komma. Die gesamten Mikrosekunden innerhalb der Sekunde berechnest du mit millisecond * 1000 + microsecond.
  • Nur lesbar: Eine Zuweisung wie t.microsecond = 5 wird ignoriert und löst im Strict Mode einen TypeError aus. Verwende stattdessen with().
  • Wertebereich: Mit with() oder from() werden Werte außerhalb von 0–999 standardmäßig begrenzt (overflow: 'constrain', aus 1500 wird also 999). Mit { overflow: 'reject' } wird stattdessen ein RangeError ausgelöst.
  • Kompatibilität: Temporal wird noch nicht in allen Browsern unterstützt (Safari und ältere Versionen fehlen). Für den produktiven Einsatz empfiehlt sich ein Polyfill wie @js-temporal/polyfill oder temporal-polyfill.
  • Die Legacy-Klasse Date hat keine Mikrosekunden. Sie löst nur bis zur Millisekunde auf.