Temporal.PlainDateTime.prototype.subtract()

可用性有限

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

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

Temporal.PlainDateTime 例項的 subtract() 方法返回一個新的 Temporal.PlainDateTime 物件,表示此日期時間按照給定持續時間(以可由 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.PlainDateTime 物件,表示由原始 PlainDateTime 指定的日期時間減去持續時間後的結果。

異常

RangeError

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

描述

減去持續時間等同於 新增負值,因此所有相同的注意事項都適用。

示例

減去一個持續時間

js
const start = Temporal.PlainDateTime.from("2022-01-01T12:34:56");
const end = start.subtract({
  years: 1,
  months: 2,
  weeks: 3,
  days: 4,
  hours: 5,
  minutes: 6,
  seconds: 7,
  milliseconds: 8,
});
console.log(end.toString()); // 2020-10-07T07:28:48.992

規範

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

瀏覽器相容性

另見