Spec-Zone.ru › JavaScript

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, содержащая время.
  • Объект, содержащий по крайней мере одно из следующих свойств (в порядке их получения и проверки):
    • hour
    • microsecond
    • millisecond
    • minute
    • nanosecond
    • second

    Они усекаются до целых чисел. Значения вне диапазона обрабатываются опцией 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

См. также

  • Temporal.PlainTime
  • Temporal.PlainTime()
  • Temporal.PlainTime.prototype.with()

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API