Firefox Tomorrow

javascript instance method

Temporal.PlainDate.prototype.subtract()

View on MDN ↗

The subtract() method of PlainDate instances returns a new Temporal.PlainDate object representing this date moved backward by a given duration (in a form convertible by Temporal.Duration.from()).

If you want to subtract two dates and get a duration, use since() or until() instead.

Syntax

subtract(duration)
subtract(duration, options)

Parameters

  • duration
    • : A string, an object, or a Duration instance representing a duration to subtract from this date. It is converted to a Temporal.Duration object using the same algorithm as Temporal.Duration.from().
  • options Optional
    • : An object containing the following property:
      • overflow Optional
        • : 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 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

  • 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 add().

Specifications

SpecificationsStandards references are available on the canonical MDN page.

Browser compatibility

Browser compatibilityCompatibility data is available on the canonical MDN page.

See also