Temporal.PlainYearMonth.prototype.subtract()
Temporal.PlainYearMonth
实例的 subtract()
方法返回一个新的 Temporal.PlainYearMonth
对象,该对象表示通过给定持续时间(形式上可被 Temporal.Duration.from()
转换)向前移动后的年份和月份。
语法
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 |
浏览器兼容性
加载中…