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 total()-Methode von Temporal.Duration-Instanzen gibt eine Zahl zurück, die die gesamte Dauer in der angegebenen Einheit darstellt.

Syntax

js
total(unit)
total(options)

Parameter

unit

Ein String, der die unit-Option darstellt. Dies ist eine praktische Überladung, sodass total(unit) gleichbedeutend ist mit total({ unit }), wobei unit 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 (Uhrzeit), das die Zeit- und Kalenderinformationen bereitstellt, um Kalenderdauern zu lösen (siehe den Link für die allgemeine Interpretation dieser Option). Erforderlich, wenn entweder this oder other eine Kalenderdauer ist oder unit eine Kalendereinheit ist.

unit

Eine der temporalen Einheiten: "year", "month", "week", "day", "hour", "minute", "second", "millisecond", "microsecond", "nanosecond" oder deren Pluralformen.

Rückgabewert

Eine Gleitkommazahl, die die gesamte Dauer in der angegebenen Einheit darstellt. Kann aufgrund von Grenzen der Gleitkommapräzision 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 oder other ist eine Kalenderdauer oder unit ist eine Kalendereinheit und relativeTo wird nicht bereitgestellt.

Beschreibung

Wenn ein relativeTo bereitgestellt wird, wird das Ergebnis berechnet, indem die Dauer zum Ausgangspunkt hinzugefügt, die Differenz zwischen dem Ergebnis und dem Ausgangspunkt (in Nanosekunden) ermittelt und die Differenz dann in die angeforderte Einheit umgerechnet wird, indem durch die entsprechende Anzahl von Nanosekunden pro Einheit geteilt wird. Wenn eine zonierte Datum-Uhrzeit bereitgestellt wird, können auch Sommerzeit und andere Zeitzonenänderungen berücksichtigt werden; 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()

js
const d = Temporal.Duration.from({ hours: 1, minutes: 30 });

console.log(d.total("minutes")); // 90
console.log(d.total("hours")); // 1.5

Gesamtzeit einer Kalenderdauer

js
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

Siehe auch