Signatur
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
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);
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());
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')}`);
Überlauf beim Addieren
const t = Temporal.PlainTime.from('10:00:00.000999');
const spaeter = t.add({ microseconds: 2 });
console.log(spaeter.millisecond, spaeter.microsecond);
// Wichtig · Fallstricke
- Nicht mit dem gesamten Sekundenbruchteil verwechseln:
microsecondenthält nur die Stellen 4–6 nach dem Komma. Die gesamten Mikrosekunden innerhalb der Sekunde berechnest du mitmillisecond * 1000 + microsecond. - Nur lesbar: Eine Zuweisung wie
t.microsecond = 5wird ignoriert und löst im Strict Mode einenTypeErroraus. Verwende stattdessenwith(). - Wertebereich: Mit
with()oderfrom()werden Werte außerhalb von 0–999 standardmäßig begrenzt (overflow: 'constrain', aus 1500 wird also 999). Mit{ overflow: 'reject' }wird stattdessen einRangeErrorausgelö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/polyfillodertemporal-polyfill. - Die Legacy-Klasse
Datehat keine Mikrosekunden. Sie löst nur bis zur Millisekunde auf.