Intl.DurationFormat.prototype.formatToParts()
Baseline 2025>
Neu verfügbar
Seit März 2025 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.
Die Methode formatToParts() von Intl.DurationFormat-Instanzen gibt ein Array von Objekten zurück, die jeweils einen Teil der formatierten Zeichenfolge darstellen, die format() zurückgeben würde. Sie ist nützlich, um aus den gebietsschemaspezifischen Bestandteilen eigene Zeichenfolgen zusammenzusetzen.
Syntax
formatToParts(duration)
Parameter
duration-
Das zu formatierende Dauerobjekt. Es sollte einige oder alle der folgenden Eigenschaften enthalten:
years,months,weeks,days,hours,minutes,seconds,milliseconds,microseconds,nanoseconds. Der Wert jeder Eigenschaft sollte eine Ganzzahl sein, und die Vorzeichen sollten übereinstimmen. Das Objekt kann einTemporal.Duration-Objekt sein. Weitere Informationen zu diesen Eigenschaften finden Sie in der Dokumentation zuTemporal.Duration.
Rückgabewert
Ein Array von Objekten, die die formatierte Dauer in einzelnen Teilen enthalten. Jedes Objekt hat zwei oder drei Eigenschaften: type, value und optional unit. Jede dieser Eigenschaften enthält eine Zeichenfolge. Werden die value-Zeichenfolgen in der angegebenen Reihenfolge aneinandergehängt, ergibt sich dieselbe Zeichenfolge wie bei format(). Die Teile können als Ergebnisse eines Aufrufs von Intl.NumberFormat.prototype.formatToParts() mit dem numerischen Wert und der jeweiligen Einheit betrachtet werden. Alle von NumberFormat erzeugten Tokens haben eine zusätzliche Eigenschaft unit, deren Wert die Singularform der Eingabeeinheit ist. Sie dient der programmatischen Verwendung und ist nicht lokalisiert. Die lokalisierte Einheit wird als separates unit-Token im Ergebnis von NumberFormat ausgegeben. Die Teile der einzelnen Dauereinheiten werden wie bei einem Aufruf von Intl.ListFormat.prototype.formatToParts() mit { type: "unit" } aneinandergehängt. Dabei werden zusätzliche Literal-Tokens eingefügt.
Beispiele
Die Methode formatToParts ermöglicht die gebietsschemaspezifische Formatierung von Zeichenfolgen, die von DurationFormat-Formatierern erzeugt werden, indem sie die Zeichenfolge in einzelnen Teilen bereitstellt:
const duration = {
hours: 7,
minutes: 8,
seconds: 9,
milliseconds: 123,
microseconds: 456,
nanoseconds: 789,
};
new Intl.DurationFormat("en", { style: "long" }).formatToParts(duration);
// Returned value:
[
{ type: "integer", value: "7", unit: "hour" },
{ type: "literal", value: " ", unit: "hour" },
{ type: "unit", value: "hours", unit: "hour" },
{ type: "literal", value: ", " },
{ type: "integer", value: "8", unit: "minute" },
{ type: "literal", value: " ", unit: "minute" },
{ type: "unit", value: "minutes", unit: "minute" },
{ type: "literal", value: ", " },
{ type: "integer", value: "9", unit: "second" },
{ type: "literal", value: " ", unit: "second" },
{ type: "unit", value: "seconds", unit: "second" },
{ type: "literal", value: ", " },
{ type: "integer", value: "123", unit: "millisecond" },
{ type: "literal", value: " ", unit: "millisecond" },
{ type: "unit", value: "milliseconds", unit: "millisecond" },
{ type: "literal", value: ", " },
{ type: "integer", value: "456", unit: "microsecond" },
{ type: "literal", value: " ", unit: "microsecond" },
{ type: "unit", value: "microseconds", unit: "microsecond" },
{ type: "literal", value: ", " },
{ type: "integer", value: "789", unit: "nanosecond" },
{ type: "literal", value: " ", unit: "nanosecond" },
{ type: "unit", value: "nanoseconds", unit: "nanosecond" },
];
Spezifikationen
| Spezifikation |
|---|
| Intl.DurationFormat> # sec-Intl.DurationFormat.prototype.formatToParts> |