Temporal.Instant.prototype.subtract()

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

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

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

Syntax

js
subtract(duration)

Parameters

duration

A string, an object, or a Temporal.Duration instance representing a duration to subtract from this instant. It is converted to a Temporal.Duration object using the same algorithm as Temporal.Duration.from().

Return value

A new Temporal.Instant object representing subtracting duration from this instant. If duration is positive, then the returned instant is earlier than this instant; if duration is negative, then the returned instant is later than this instant.

Exceptions

RangeError

Thrown in one of the following cases:

  • duration is a calendar duration (it has a non-zero years, months, or weeks), or has a non-zero days, because calendar durations are ambiguous without a calendar and time reference.
  • The difference of this and duration overflows the maximum or underflows the minimum representable instant, which is ±108 days (about ±273,972.6 years).

Description

Subtracting a duration is equivalent to adding its negation, so all the same considerations apply.

Examples

Subtracting a Temporal.Duration

js
const instant = Temporal.Instant.fromEpochMilliseconds(1000);
const duration = Temporal.Duration.from("PT1S"); // One-second duration
const newInstant = instant.subtract(duration);
console.log(newInstant.epochMilliseconds); // 0

For more examples, see add().

Specifications

Specification
Temporal proposal
# sec-temporal.instant.prototype.subtract

Browser compatibility

BCD tables only load in the browser

See also