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 definiert, 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 bereitgestellten numerischen Eigenschaften außerhalb des Bereichs liegen und options.overflow auf "reject" gesetzt ist.

Beispiele

Ein PlainTime aus einem Objekt erstellen

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"

Überlaufverhalten steuern

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

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

Ein PlainTime aus einem String erstellen

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

Ein PlainTime aus einer anderen Temporal-Instanz erstellen

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