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
Temporal.PlainTime.from(info)
Temporal.PlainTime.from(info, options)
Parameter
info
-
Eines der folgenden:
-
Eine
Temporal.PlainTime
-Instanz, die eine Kopie der Instanz erstellt. -
Eine
Temporal.PlainDateTime
-Instanz, die die Zeit auf die gleiche Weise liefert wieTemporal.PlainDateTime.prototype.toPlainTime()
. -
Eine
Temporal.ZonedDateTime
-Instanz, die die Zeit auf die gleiche Weise liefert wieTemporal.ZonedDateTime.prototype.toPlainTime()
. -
Ein RFC 9557-String, der eine Zeit enthält.
-
Ein Objekt, das mindestens eine der folgenden Eigenschaften enthält (in der Reihenfolge, in der sie abgerufen und validiert werden):
Sie werden auf ganze Zahlen gekürzt. Werte außerhalb des Bereichs werden durch die
overflow
-Option behandelt.
-
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 oderundefined
.
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
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:
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:
Temporal.PlainTime.from({ hour: 25 }, { overflow: "reject" });
// RangeError: time value "hour" not in 0..23: 25
Erstellen einer PlainTime aus einem String
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
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