Temporal.Duration.from()
Базовый уровень Ограниченная доступность
Эта функция не является Базовым уровнем, потому что она не работает в некоторых наиболее широко используемых браузерах.
Статический метод Temporal.Duration.from() создает новый объект Temporal.Duration из другого объекта Temporal.Duration, объекта со свойствами длительности или строки ISO 8601.
Синтаксис
Temporal.Duration.from(info)
Параметры
-
info - Одно из следующих значений:
- Экземпляр
Temporal.Duration, который создает копию этого экземпляра. - Строка ISO 8601, представляющая длительность.
- Объект, содержащий как минимум одно из следующих свойств (в порядке, в котором они извлекаются и проверяются):
Каждое свойство должно содержать целочисленное значение. Результирующая длительность не должна иметь смешанные знаки, поэтому все эти свойства должны иметь одинаковый знак (или ноль). Отсутствующие свойства трактуются как ноль.
- Экземпляр
Возвращаемое значение
Новый объект Temporal.Duration, возможно несбалансированный, с указанными компонентами.
Исключения
-
RangeError - Выбрасывается в одном из следующих случаев:
- Любое из распознанных свойств в объекте
infoне является целым числом (включая не конечные значения). - Календарная единица (годы, месяцы, недели) имеет абсолютное значение ≥ 232.
- Некалендарная часть длительности (дни и ниже), выраженная в секундах, имеет абсолютное значение ≥ 253.
- Любое из распознанных свойств в объекте
-
TypeError - Выбрасывается в одном из следующих случаев:
-
infoне является объектом или строкой. - Все распознанные свойства в объекте
infoявляютсяundefined.
-
Примеры
Создание длительности из объекта
const d1 = Temporal.Duration.from({ hours: 1, minutes: 30 });
console.log(d1.toString()); // "PT1H30M"
const d2 = Temporal.Duration.from({ months: 1, days: 2 });
console.log(d2.toString()); // "P1M2D"
// Uncommon because unbalanced, but valid
const unbalanced = Temporal.Duration.from({
hours: 100,
minutes: 100,
seconds: 100,
});
console.log(unbalanced.toString()); // "PT100H100M100S"
const neg = Temporal.Duration.from({ hours: -1, minutes: -30 });
console.log(neg.toString()); // "-PT1H30M"
Создание длительности из строки
const d = Temporal.Duration.from("P1Y2M3W4DT5H6M7.00800901S");
console.log(d.hours); // 5
Создание длительности из другой длительности
const d1 = Temporal.Duration.from({ hours: 1, minutes: 30 });
const d2 = Temporal.Duration.from(d1);
console.log(d2.toString()); // "PT1H30M"
Спецификации
| Спецификация |
|---|
| Temporal # sec-temporal.duration.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/Duration/from