Temporal.PlainDate.prototype.subtract()

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

Temporal.PlainDate 例項的 subtract() 方法會返回一個新的 Temporal.PlainDate 物件,表示當前日期向後推移指定時長(可透過 Temporal.Duration.from() 轉換)。

如果你想計算兩個日期之間的時長,請使用 since()until()

語法

js
subtract(duration)
subtract(duration, options)

引數

duration

一個字串、物件或 Temporal.Duration 例項,表示要從當前日期減去的一個時長。它會使用與 Temporal.Duration.from() 相同的演算法轉換為 Temporal.Duration 物件。

options 可選

包含以下屬性的物件

overflow 可選

一個字串,指定日期元件超出範圍時的行為。可能的值是

"constrain"(預設)

日期元件被限制在有效範圍內。

"reject"

如果日期元件超出範圍,則丟擲 RangeError

返回值

一個新的 Temporal.PlainDate 物件,表示原始 PlainDate 指定的日期減去時長後的日期。

描述

減去一個時長等同於新增相反數,因此所有相同的注意事項都適用。

異常

RangeError

如果結果不在 可表示範圍 內,即距 Unix 紀元 ±(108 + 1) 天(約 ±273,972.6 年),則丟擲此錯誤。

示例

減去一個持續時間

js
const start = Temporal.PlainDate.from("2022-01-01");
const end = start.subtract({ years: 1, months: 2, weeks: 3, days: 4 });
console.log(end.toString()); // 2020-10-07

有關更多示例,請參閱 add()

規範

規範
Temporal
# sec-temporal.plaindate.prototype.subtract

瀏覽器相容性

另見