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

Temporal.PlainTime.prototype.second

Eigenschaft

Gibt die Sekundenkomponente einer <code>Temporal.PlainTime</code> als ganze Zahl von 0 bis 59 zurück.

seit JavaScript ES2026 (Temporal); Firefox 139+, Chrome 144+, noch Kategorie: method-property

Signatur

get Temporal.PlainTime.prototype.second

Beschreibung

Die Zugriffseigenschaft second liefert den Sekundenanteil einer Uhrzeit ohne Datum und ohne Zeitzone (Temporal.PlainTime). Der Wert ist immer eine ganze Zahl zwischen 0 und 59. Bruchteile einer Sekunde stehen in den eigenen Eigenschaften millisecond, microsecond und nanosecond.

Die Eigenschaft ist nur lesbar: Es gibt einen Getter, aber keinen Setter. Temporal.PlainTime-Objekte sind unveränderlich. Um die Sekunde zu ändern, erzeugst du mit with({ second: … }) eine neue Instanz oder verschiebst die Zeit mit add() bzw. subtract().

Typische Einsatzfälle sind eigene Zeitformate (z. B. HH:MM:SS), das Prüfen, ob eine Zeit genau auf einer vollen Minute liegt, und Berechnungen in Timern oder Zeitplänen.

Beispiele

Sekunde einer Uhrzeit auslesen

const zeit = Temporal.PlainTime.from("14:37:52.250");
console.log(zeit.second);      // Sekundenanteil
console.log(zeit.millisecond); // Bruchteil getrennt
52 250

Sekunde ändern mit with() (unveränderliches Objekt)

const start = Temporal.PlainTime.from("08:15:42");
const geaendert = start.with({ second: 0 });

console.log(start.toString());     // Original bleibt unverändert
console.log(geaendert.toString());
console.log(geaendert.second);
08:15:42 08:15:00 0

Eigenes Zeitformat HH:MM:SS erzeugen

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

const formatiere = (t) => `${pad(t.hour)}:${pad(t.minute)}:${pad(t.second)}`;

const jetzt = Temporal.PlainTime.from({ hour: 9, minute: 5, second: 7 });
console.log(formatiere(jetzt));
09:05:07

Überlauf beim Addieren von Sekunden

const t = Temporal.PlainTime.from("23:59:50");
const spaeter = t.add({ seconds: 15 });

// PlainTime läuft über Mitternacht einfach weiter
console.log(spaeter.toString());
console.log(spaeter.second);
00:00:05 5

// Wichtig · Fallstricke

  • Nur lesbar: zeit.second = 10 ändert nichts (im Strict Mode wird ein TypeError geworfen). Nutze with().
  • Keine Schaltsekunden: Temporal kennt keine Sekunde 60. Die Eingabe \"23:59:60\" wird bei from() auf 59 begrenzt. Bei with({ second: 60 }) passiert das auch, außer mit { overflow: \"reject\" }, dann gibt es einen RangeError.
  • Bruchteile einer Sekunde sind nicht in second enthalten. Für Nachkommastellen nutze millisecond, microsecond und nanosecond.
  • Der Getter wirft einen TypeError, wenn er mit einem this aufgerufen wird, das kein Temporal.PlainTime ist.
  • Kompatibilität: Temporal ist noch neu. Firefox unterstützt es ab Version 139, Chrome und Edge ab Version 144. Safari hatte bei Redaktionsschluss noch keine stabile Unterstützung. Für ältere Umgebungen gibt es Polyfills wie @js-temporal/polyfill oder temporal-polyfill.