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 Zeit-Eigenschaften 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 in den gültigen Bereich eingegrenzt.

"reject"

Ein RangeError wird geworfen, wenn die Zeitkomponente außerhalb des Bereichs liegt.

Rückgabewert

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

Ausnahmen

TypeError

Wird in einem der folgenden Fälle geworfen:

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

Wird geworfen, wenn die angegebenen numerischen Eigenschaften außerhalb des Bereichs liegen und options.overflow auf "reject" eingestellt ist.

Beispiele

Erstellen einer 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"

Kontrollieren des Überlaufverhaltens

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

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 zu werfen:

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

Erstellen einer 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 einer 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 proposal
# sec-temporal.plaintime.from

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch