Temporal.PlainDateTime.prototype.add()
Baseline Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
The add() method of Temporal.PlainDateTime instances returns a new Temporal.PlainDateTime object representing this date-time moved forward by a given duration (in a form convertible by Temporal.Duration.from()).
Syntax
add(duration) add(duration, options)
Parameters
-
duration - A string, an object, or a
Temporal.Durationinstance representing a duration to add to this date-time. It is converted to aTemporal.Durationobject using the same algorithm asTemporal.Duration.from(). -
optionsOptional - An object containing the following property:
-
overflowOptional - 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
RangeErroris thrown if the date component is out of range.
-
-
Return value
A new Temporal.PlainDateTime object representing the date-time specified by the original PlainDateTime, plus the duration.
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.
Description
For how calendar durations are added, see Temporal.PlainDate.prototype.add().
Adding a duration is equivalent to subtracting its negation.
Examples
Adding a duration
const start = Temporal.PlainDateTime.from("2021-01-01T12:34:56");
const end = start.add({
years: 1,
months: 2,
weeks: 3,
days: 4,
hours: 5,
minutes: 6,
seconds: 7,
milliseconds: 8,
});
console.log(end.toString()); // 2022-03-26T17:41:03.008
For more examples, especially with how different calendars and the overflow option interact with calendar durations, see Temporal.PlainDate.prototype.add().
Specifications
| Specification |
|---|
| Temporal # sec-temporal.plaindatetime.prototype.add |
Browser compatibility
| Desktop | Mobile | Server | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on iOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
add |
144 |
144 |
139 |
128 |
preview |
144 |
139 |
95 |
No |
No |
144 |
No |
1.4.0 |
2.7 |
26.0.0 |
See also
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal/PlainDateTime/add