Temporal.PlainDate.prototype.subtract()
En esta página
The subtract() method of {{jsxref("Temporal.PlainDate")}} instances returns a new Temporal.PlainDate object representing this date moved backward by a given duration (in a form convertible by {{jsxref("Temporal/Duration/from", "Temporal.Duration.from()")}}).
If you want to subtract two dates and get a duration, use {{jsxref("Temporal/PlainDate/since", "since()")}} or {{jsxref("Temporal/PlainDate/until", "until()")}} instead.
Syntax#
subtract(duration)
subtract(duration, options)
Parameters#
duration- : A string, an object, or a {{jsxref("Temporal.Duration")}} instance representing a duration to subtract from this date. It is converted to a
Temporal.Durationobject using the same algorithm as {{jsxref("Temporal/Duration/from", "Temporal.Duration.from()")}}. options{{optional_inline}}- : An object containing the following property:
overflow{{optional_inline}}- : A string specifying the behavior when a date component is out of range. Possible values are:
"constrain"(default)- : The date component is clamped to the valid range.
"reject"- : A {{jsxref("RangeError")}} is thrown if the date component is out of range.
Return value#
A new Temporal.PlainDate object representing the date specified by the original PlainDate, minus the duration.
Description#
Subtracting a duration is equivalent to adding its negation, so all the same considerations apply.
Exceptions#
- {{jsxref("RangeError")}}
- : Thrown if the result is not in the representable range, which is ±(108 + 1) days, or about ±273,972.6 years, from the Unix epoch.
Examples#
Subtracting a duration#
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
For more examples, see {{jsxref("Temporal/PlainDate/add", "add()")}}.
Specifications#
{{Specifications}}
Browser compatibility#
{{Compat}}
See also#
- {{jsxref("Temporal.PlainDate")}}
- {{jsxref("Temporal.Duration")}}
- {{jsxref("Temporal/PlainDate/add", "Temporal.PlainDate.prototype.add()")}}
- {{jsxref("Temporal/PlainDate/since", "Temporal.PlainDate.prototype.since()")}}
- {{jsxref("Temporal/PlainDate/until", "Temporal.PlainDate.prototype.until()")}}