Temporal.PlainYearMonth.prototype.subtract()

可用性有限

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

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

Temporal.PlainYearMonth 例項的 subtract() 方法返回一個新的 Temporal.PlainYearMonth 物件,該物件表示透過給定持續時間(形式上可被 Temporal.Duration.from() 轉換)向前移動後的年份和月份。

如果您想減去兩個年份和月份以獲得一個持續時間,請改用 since()until()

語法

js
subtract(duration)
subtract(duration, options)

引數

duration

表示要從該年份和月份中減去的持續時間的字串、物件或 Temporal.Duration 例項。它使用與 Temporal.Duration.from() 相同的演算法將其轉換為 Temporal.Duration 物件。

options 可選

包含以下屬性的物件

overflow 可選

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

"constrain"(預設)

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

"reject"

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

返回值

一個代表原始 PlainYearMonth 指定的年份和月份減去該持續時間後的新 Temporal.PlainYearMonth 物件。

異常

RangeError

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

描述

減去持續時間等同於新增相反數,因此所有考慮因素都適用。減去正持續時間會從年份和月份的末尾開始向前移動,因此小於該月份長度的任何增量都會被忽略。

示例

減去一個持續時間

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

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

規範

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

瀏覽器相容性

另見