Temporal.Duration.prototype.total()
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 Methode total()
von Instanzen von Temporal.Duration
gibt eine Zahl zurück, die die Gesamtdauer in der angegebenen Einheit darstellt.
Syntax
total(unit)
total(options)
Parameter
unit
-
Ein String, der die
unit
-Option repräsentiert. Dies ist eine Komfortüberladung, sodasstotal(unit)
gleichbedeutend mittotal({ unit })
ist, wobeiunit
ein String ist. options
-
Ein Objekt, das einige oder alle der folgenden Eigenschaften enthält (in der Reihenfolge, in der sie abgerufen und validiert werden):
relativeTo
Optional-
Ein zoniertes oder einfaches Datum(Zeit), das die Zeit- und Kalenderinformationen bereitstellt, um Kalenderdauern aufzulösen (siehe den Link für die allgemeine Interpretation dieser Option). Erforderlich, wenn entweder
this
oderother
eine Kalenderdauer ist oderunit
eine Kalendereinheit ist. unit
-
Eine der temporalen Einheiten:
"years"
,"months"
,"weeks"
,"days"
,"hours"
,"minutes"
,"seconds"
,"milliseconds"
,"microseconds"
,"nanoseconds"
oder ihre Singularformen.
Rückgabewert
Eine Gleitkommazahl, die die Gesamtdauer in der angegebenen Einheit darstellt. Kann aufgrund von Präzisionsgrenzen bei Gleitkommazahlen ungenau sein.
Ausnahmen
RangeError
-
Wird in einem der folgenden Fälle ausgelöst:
unit
wird nicht bereitgestellt oder ist keine gültige Einheit.- Entweder
this
oderother
ist eine Kalenderdauer, oderunit
ist eine Kalendereinheit, undrelativeTo
wird nicht bereitgestellt.
Beschreibung
Wenn ein relativeTo
angegeben wird, wird das Ergebnis berechnet, indem die Dauer zum Ausgangspunkt addiert wird, der Unterschied zwischen dem Ergebnis und dem Ausgangspunkt (in Nanosekunden) ermittelt und der Unterschied dann in die angeforderte Einheit umgewandelt wird, indem durch die entsprechende Anzahl von Nanosekunden pro Einheit dividiert wird. Das Bereitstellen eines zonierten Datums-Zeitpunkts ermöglicht es, auch Sommerzeit und andere Zeitzonenänderungen zu berücksichtigen; andernfalls wird von 24-Stunden-Tagen ausgegangen.
Wenn relativeTo
nicht bereitgestellt wird, wird das Ergebnis berechnet, indem die Dauer in Nanosekunden umgewandelt und durch die entsprechende Anzahl von Nanosekunden pro Einheit geteilt wird.
Beispiele
Verwendung von total()
const d = Temporal.Duration.from({ hours: 1, minutes: 30 });
console.log(d.total("minutes")); // 90
console.log(d.total("hours")); // 1.5
Gesamtdauer einer Kalenderdauer
const d = Temporal.Duration.from({ months: 1 });
console.log(
d.total({ unit: "days", relativeTo: Temporal.PlainDate.from("2021-01-01") }),
); // 31
Spezifikationen
Specification |
---|
Temporal proposal # sec-temporal.duration.prototype.total |
Browser-Kompatibilität
BCD tables only load in the browser