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

Temporal.PlainTime.prototype.millisecond

Eigenschaft

Liefert die Millisekundenkomponente (0–999) einer <code>Temporal.PlainTime</code>, also den Anteil in 10<sup>-3</sup> Sekunden.

seit JavaScript Temporal (TC39 Stage 3) – Firefox 139+, Chrome 144 Kategorie: method-property

Signatur

get Temporal.PlainTime.prototype.millisecond

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

Typ
number
Beschreibung
Ganzzahl von 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
15 123 456 789

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());
250 08:00:00.999

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));
09:05:07,042

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")));
true false

// Wichtig · Fallstricke

  • Nur eine Komponente, kein Gesamtwert: millisecond enthält nicht die Millisekunden seit Mitternacht. Diesen Wert berechnest du z. B. mit zeit.since(new Temporal.PlainTime()).total(\"milliseconds\").
  • Kein Runden: Bei \"10:00:00.9999\" liefert millisecond den Wert 999 und microsecond den Wert 900. Es wird nicht aufgerundet. Zum Runden gibt es round({ smallestUnit: \"millisecond\" }).
  • Schreibgeschützt: Eine Zuweisung wie zeit.millisecond = 5 wird im nicht-strikten Modus stillschweigend ignoriert und löst im Strict Mode einen TypeError aus.
  • Ü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 ein RangeError ausgelö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/polyfill oder temporal-polyfill.