Temporal.PlainTime.from()
Baseline Ограниченная доступность
Эта функция не является Baseline, так как она не работает в некоторых из наиболее широко используемых браузеров.
Статический метод Temporal.PlainTime.from() создает новый объект Temporal.PlainTime из другого объекта Temporal.PlainTime, объекта с свойствами времени или строки в формате RFC 9557.
Синтаксис
Temporal.PlainTime.from(info) Temporal.PlainTime.from(info, options)
Параметры
-
info - Одно из следующего:
- Экземпляр
Temporal.PlainTime, который создает копию экземпляра. - Экземпляр
Temporal.PlainDateTime, который предоставляет время аналогичноTemporal.PlainDateTime.prototype.toPlainTime(). - Экземпляр
Temporal.ZonedDateTime, который предоставляет время аналогичноTemporal.ZonedDateTime.prototype.toPlainTime(). - Строка RFC 9557, содержащая время.
- Объект, содержащий по крайней мере одно из следующих свойств (в порядке их получения и проверки):
Они усекаются до целых чисел. Значения вне диапазона обрабатываются опцией
overflow.
- Экземпляр
-
optionsНеобязательный - Объект, содержащий следующее свойство:
-
overflowНеобязательный - Строка, определяющая поведение при выходе компонента времени за пределы диапазона (при использовании объекта
info). Возможные значения:-
"constrain"(по умолчанию) - Компонент времени ограничивается допустимым диапазоном.
-
"reject" - При выходе компонента времени за пределы диапазона выбрасывается
RangeError.
-
-
Возвращаемое значение
Новый объект Temporal.PlainTime, представляющий время, указанное info.
Исключения
-
TypeError - Выбрасывается в одном из следующих случаев:
-
infoне является объектом с хотя бы одним распознанным свойством или строкой. -
optionsне является объектом илиundefined.
-
-
RangeError - Выбрасывается, если предоставленные числовые свойства находятся вне диапазона, а
options.overflowустановлен в"reject".
Примеры
Создание PlainTime из объекта
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"
Управление поведением при выходе за пределы диапазона
По умолчанию значения вне диапазона ограничиваются допустимым диапазоном:
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"
Вы можете изменить это поведение, чтобы вместо этого выбрасывалась ошибка:
Temporal.PlainTime.from({ hour: 25 }, { overflow: "reject" });
// RangeError: time value "hour" not in 0..23: 25
Создание PlainTime из строки
const t1 = Temporal.PlainTime.from("12:34:56.123456789");
console.log(t1.toLocaleString("en-US", { timeStyle: "full" }));
// 12:34:56 PM
Создание PlainTime из другого экземпляра Temporal
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"
Спецификации
| Спецификация |
|---|
| Temporal # sec-temporal.plaintime.from |
Совместимость с браузерами
| Настольные | Мобильные | Сервер | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on iOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
from |
144 |
144 |
139 |
128 |
preview |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
См. также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal/PlainTime/from