Temporal.PlainTime.from()

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Die statische Methode Temporal.PlainTime.from() erstellt ein neues Temporal.PlainTime-Objekt aus einem anderen Temporal.PlainTime-Objekt, einem Objekt mit Zeiteigenschaften oder einem RFC 9557-String.

Syntax

js
Temporal.PlainTime.from(info)
Temporal.PlainTime.from(info, options)

Parameter

info

Eines der folgenden:

options Optional

Ein Objekt, das die folgende Eigenschaft enthält:

overflow Optional

Ein String, der das Verhalten angibt, wenn eine Zeitkomponente außerhalb des Bereichs liegt (bei Verwendung des Objekts info). Mögliche Werte sind:

"constrain" (Standard)

Die Zeitkomponente wird auf den gültigen Bereich begrenzt.

"reject"

Ein RangeError wird ausgelöst, wenn die Zeitkomponente außerhalb des Bereichs liegt.

Rückgabewert

Ein neues Temporal.PlainTime-Objekt, das die durch info angegebene Zeit darstellt.

Ausnahmen

TypeError

Wird in einem der folgenden Fälle ausgelöst:

  • info ist kein Objekt mit mindestens einer erkannten Eigenschaft oder ein String.
  • options ist kein Objekt oder undefined.
RangeError

Wird ausgelöst, wenn die angegebenen numerischen Eigenschaften außerhalb des Bereichs sind und options.overflow auf "reject" gesetzt ist.

Beispiele

Erstellen eines PlainTime aus einem Objekt

js
const t1 = Temporal.PlainTime.from({ hour: 0 });
console.log(t1.toString()); // "00:00:00"

const t2 = Temporal.PlainTime.from({ hour: 12, minute: 34, second: 56 });
console.log(t2.toString()); // "12:34:56"

const t3 = Temporal.PlainTime.from({
  hour: 12,
  minute: 34,
  second: 56,
  millisecond: 123,
  microsecond: 456,
  nanosecond: 789,
});
console.log(t3.toString()); // "12:34:56.123456789"

Kontrolle des Überlaufverhaltens

Standardmäßig werden Werte außerhalb des Bereichs auf den gültigen Bereich begrenzt:

js
const t1 = Temporal.PlainTime.from({ hour: 25 });
console.log(t1.toString()); // "23:00:00"

const t2 = Temporal.PlainTime.from({ hour: 25, minute: 60 });
console.log(t2.toString()); // "23:59:00"

Sie können dieses Verhalten ändern, um stattdessen einen Fehler auszulösen:

js
Temporal.PlainTime.from({ hour: 25 }, { overflow: "reject" });
// RangeError: time value "hour" not in 0..23: 25

Erstellen eines PlainTime aus einem String

js
const t1 = Temporal.PlainTime.from("12:34:56.123456789");
console.log(t1.toLocaleString("en-US", { timeStyle: "full" }));
// 12:34:56 PM

Erstellen eines PlainTime aus einer anderen Temporal-Instanz

js
const dt = Temporal.PlainDateTime.from("2021-07-01T12:00");
const t = Temporal.PlainTime.from(dt);
console.log(t.toString()); // "12:00:00"

const zdt = Temporal.ZonedDateTime.from(
  "2021-07-01T00:00+08:00[Asia/Shanghai]",
);
const t2 = Temporal.PlainTime.from(zdt);
console.log(t2.toString()); // "00:00:00"

const t3 = Temporal.PlainTime.from(t);
console.log(t3.toString()); // "12:00:00"

Spezifikationen

Specification
Temporal
# sec-temporal.plaintime.from

Browser-Kompatibilität

Siehe auch