Temporal.Duration.from()
Temporal.Duration.from() 靜態方法可從另一個 Temporal.Duration 物件、一個具有時段屬性的物件或一個 ISO 8601 字串建立新的 Temporal.Duration 物件。
語法
js
Temporal.Duration.from(info)
引數
info-
以下之一:
-
一個
Temporal.Duration例項,用於建立該例項的副本。 -
一個表示時段的 ISO 8601 字串。
-
一個包含以下至少一個屬性的物件(按檢索和驗證順序排列)
每個屬性應包含一個整數值。生成時段不得具有混合符號,因此所有這些屬性必須具有相同的符號(或為零)。缺失的屬性被視為零。
-
返回值
一個可能不平衡的新 Temporal.Duration 物件,具有指定的組成部分。
異常
RangeError-
在以下情況之一中丟擲
info物件中任何可識別的屬性不是整數(包括非有限值)。- 日曆單位(年、月、周)的絕對值 ≥ 232。
- 持續時間的非日曆部分(天及以下),以秒為單位表示時,其絕對值 ≥ 253。
TypeError-
在以下情況之一中丟擲
info不是物件或字串。info物件中所有可識別的屬性都為undefined。
示例
從物件建立時段
js
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"
從字串建立時段
js
const d = Temporal.Duration.from("P1Y2M3W4DT5H6M7.00800901S");
console.log(d.hours); // 5
從另一個時段建立時段
js
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 |
瀏覽器相容性
載入中…