Signatur
Beschreibung
Die Zugriffseigenschaft millisecond gibt die Millisekundenkomponente einer Temporal.PlainTime-Instanz als Ganzzahl von 0 bis 999 zurück. Sie steht zwischen second und microsecond und beschreibt nur die ersten drei Nachkommastellen der Sekunde. Feinere Anteile liegen in microsecond und nanosecond.
Die Eigenschaft ist schreibgeschützt, denn Temporal.PlainTime ist unveränderlich. Um den Millisekundenwert zu ändern, erzeugst du mit with({ millisecond: … }) eine neue Instanz.
Typische Einsatzfälle: Zeitstempel mit Millisekunden formatieren, Messwerte aus Protokollen zerlegen oder prüfen, ob eine Uhrzeit genau auf einer vollen Sekunde liegt.
Rückgabewert
0 bis 999, die Millisekundenkomponente der Uhrzeit.Beispiele
Millisekunden aus einer Uhrzeit auslesen
const zeit = Temporal.PlainTime.from("14:30:15.123456789");
console.log(zeit.second); // volle Sekunden
console.log(zeit.millisecond); // 10^-3 s
console.log(zeit.microsecond); // 10^-6 s
console.log(zeit.nanosecond); // 10^-9 s
Millisekunden mit with() ändern
const start = Temporal.PlainTime.from("08:00:00.250");
// Neue Instanz, das Original bleibt unverändert
const korrigiert = start.with({ millisecond: 999 });
console.log(start.millisecond);
console.log(korrigiert.toString());
Log-Zeitstempel formatieren
const formatiere = (t) => {
const pad = (n, l = 2) => String(n).padStart(l, "0");
return `${pad(t.hour)}:${pad(t.minute)}:${pad(t.second)},${pad(t.millisecond, 3)}`;
};
const jetzt = Temporal.PlainTime.from("09:05:07.042");
console.log(formatiere(jetzt));
Auf volle Sekunde prüfen
const istVolleSekunde = (t) =>
t.millisecond === 0 && t.microsecond === 0 && t.nanosecond === 0;
console.log(istVolleSekunde(Temporal.PlainTime.from("12:00:00")));
console.log(istVolleSekunde(Temporal.PlainTime.from("12:00:00.001")));
// Wichtig · Fallstricke
- Nur eine Komponente, kein Gesamtwert:
millisecondenthält nicht die Millisekunden seit Mitternacht. Diesen Wert berechnest du z. B. mitzeit.since(new Temporal.PlainTime()).total(\"milliseconds\"). - Kein Runden: Bei
\"10:00:00.9999\"liefertmillisecondden Wert999undmicrosecondden Wert900. Es wird nicht aufgerundet. Zum Runden gibt esround({ smallestUnit: \"millisecond\" }). - Schreibgeschützt: Eine Zuweisung wie
zeit.millisecond = 5wird im nicht-strikten Modus stillschweigend ignoriert und löst im Strict Mode einenTypeErroraus. - Überlauf bei with(): Werte außerhalb von 0–999 werden standardmäßig auf den gültigen Bereich begrenzt (
overflow: \"constrain\"). Mit{ overflow: \"reject\" }wird stattdessen einRangeErrorausgelöst. - Kompatibilität: Temporal wird noch nicht von allen Browsern unterstützt (z. B. fehlt es in Safari bisher). Für den produktiven Einsatz empfiehlt sich ein Polyfill wie
@js-temporal/polyfillodertemporal-polyfill.