Temporal.Duration.prototype.add()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Die add()
-Methode von Temporal.Duration
-Instanzen gibt ein neues Temporal.Duration
-Objekt mit der Summe dieser Dauer und einer gegebenen Dauer zurück. Das Ergebnis ist ausbalanciert.
Syntax
add(other)
Parameter
other
-
Ein String, ein Objekt oder eine
Temporal.Duration
-Instanz, die eine Dauer darstellt, die zu dieser Dauer hinzugefügt werden soll. Es wird unter Verwendung desselben Algorithmus wieTemporal.Duration.from()
in einTemporal.Duration
-Objekt umgewandelt.
Rückgabewert
Ein neues Temporal.Duration
-Objekt, das die Summe dieser Dauer und other
darstellt.
Ausnahmen
RangeError
-
Wird in einem der folgenden Fälle ausgelöst:
- Entweder
this
oderother
ist eine Kalenderdauer (sie hat einen nicht-nullyears
,months
oderweeks
), da Kalenderdauern ohne einen Kalender und Zeitbezug mehrdeutig sind. - Die Summe von
this
undother
überschreitet die maximal darstellbare Dauer oder unterschreitet die minimal darstellbare Dauer, welche ±253 Sekunden beträgt.
- Entweder
Beschreibung
Nicht-Kalenderdauern repräsentieren eindeutig eine feste Zeitspanne. Intern werden sowohl this
als auch other
in Nanosekunden umgewandelt (unter Annahme von 24-Stunden-Tagen) und zusammen addiert. Das Ergebnis wird dann in ein Temporal.Duration
-Objekt zurückkonvertiert, sodass das Ergebnis immer ausbalanciert ist mit der größtmöglichen Einheit als days
.
Wenn Sie eine Addition oder Subtraktion mit einer Kalenderdauer durchführen möchten, können Sie beide Dauern zu einem Startpunkt hinzufügen und dann die Differenz zwischen den beiden resultierenden Zeitpunkten ermitteln; das heißt dur1 + dur2
ist äquivalent zu (start + dur1 + dur2) - start
.
Um eine Dauer zu einem Datum oder einer Uhrzeit hinzuzufügen, verwenden Sie stattdessen die add()
-Methode des Datums- oder Zeitobjekts.
Beispiele
Verwendung von add()
const d1 = Temporal.Duration.from({ hours: 1, minutes: 30 });
const d2 = Temporal.Duration.from({ hours: -1, minutes: -20 });
const d3 = d1.add(d2);
console.log(d3.toString()); // "PT10M"
Hinzufügen von Kalenderdauern
const d1 = Temporal.Duration.from({ days: 1 });
const d2 = Temporal.Duration.from({ months: 1 });
d1.add(d2); // RangeError: can't compare durations when "relativeTo" is undefined
const start = Temporal.PlainDateTime.from("2022-01-01T00:00"); // ISO 8601 calendar
const result = start.add(d1).add(d2).since(start);
console.log(result.toString()); // "P32D"
Spezifikationen
Specification |
---|
Temporal proposal # sec-temporal.duration.prototype.add |
Browser-Kompatibilität
BCD tables only load in the browser