Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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

js
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 ein Temporal.Duration-Objekt sein. Weitere Informationen zu diesen Eigenschaften finden Sie in der Dokumentation zu Temporal.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:

js
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

Browser-Kompatibilität

Siehe auch