Intl.DurationFormat.prototype.format()

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Die Methode format() von Intl.DurationFormat-Instanzen formatiert eine Dauer gemäß der Sprache und den Formatierungsoptionen dieses Intl.DurationFormat-Objekts.

Syntax

js
format(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 ganze Zahl sein, und die Vorzeichen sollten konsistent sein. Dies kann ein Temporal.Duration-Objekt sein; sehen Sie die Temporal.Duration-Dokumentation für weitere Informationen zu diesen Eigenschaften.

Rückgabewert

Ein String, der die angegebene duration gemäß der Sprache und den Formatierungsoptionen dieses Intl.DurationFormat-Objekts formatiert darstellt.

Hinweis: Meistens ist die von format() zurückgegebene Formatierung konsistent. Allerdings kann die Ausgabe zwischen Implementierungen variieren, selbst innerhalb derselben Sprache — Variationen sind absichtlich gestaltet und durch die Spezifikation erlaubt. Die Ausgabe könnte auch anders sein als erwartet. Beispielsweise könnte der String nicht trennbare Leerzeichen verwenden oder von bidi-Steuerzeichen umgeben sein. Sie sollten die Ergebnisse von format() nicht mit fest kodierten Konstanten vergleichen.

Beispiele

Verwendung von format()

Das folgende Beispiel zeigt, wie ein Duration-Formatter für die englische Sprache erstellt wird.

js
const duration = {
  years: 1,
  months: 2,
  weeks: 3,
  days: 3,
  hours: 4,
  minutes: 5,
  seconds: 6,
  milliseconds: 7,
  microseconds: 8,
  nanoseconds: 9,
};

// Without options, style defaults to "short"
new Intl.DurationFormat("en").format(duration);
// "1 yr, 2 mths, 3 wks, 3 days, 4 hr, 5 min, 6 sec, 7 ms, 8 μs, 9 ns"

// With style set to "long"
new Intl.DurationFormat("en", { style: "long" }).format(duration);
// "1 year, 2 months, 3 weeks, 3 days, 4 hours, 5 minutes, 6 seconds, 7 milliseconds, 8 microseconds, 9 nanoseconds"

// With style set to "narrow"
new Intl.DurationFormat("en", { style: "narrow" }).format(duration);
// "1y 2mo 3w 3d 4h 5m 6s 7ms 8μs 9ns"

Verwendung von format() mit verschiedenen Sprachen und Stilen

js
const duration = {
  hours: 1,
  minutes: 46,
  seconds: 40,
};

// With style set to "long" and locale "fr-FR"
new Intl.DurationFormat("fr-FR", { style: "long" }).format(duration);
// "1 heure, 46 minutes et 40 secondes"

// With style set to "short" and locale set to "en"
new Intl.DurationFormat("en", { style: "short" }).format(duration);
// "1 hr, 46 min and 40 sec"

// With style set to "short" and locale set to "pt"
new Intl.DurationFormat("pt", { style: "narrow" }).format(duration);
// "1h 46min 40s"

// With style set to "digital" and locale set to "en"
new Intl.DurationFormat("en", { style: "digital" }).format(duration);
// "1:46:40"

// With style set to "digital", locale set to "en", and hours set to "long"
new Intl.DurationFormat("en", { style: "digital", hours: "long" }).format(
  duration,
);
// "1 hour, 46:40"

Verwendung von format() mit der Option fractionalDigits

js
const duration = {
  hours: 11,
  minutes: 30,
  seconds: 12,
  milliseconds: 345,
  microseconds: 600,
};

new Intl.DurationFormat("en", { style: "digital" }).format(duration);
// "11:30:12.3456"

new Intl.DurationFormat("en", { style: "digital", fractionalDigits: 5 }).format(
  duration,
);
// "11:30:12.34560"

new Intl.DurationFormat("en", { style: "digital", fractionalDigits: 3 }).format(
  duration,
);
// "11:30:12.346"

Spezifikationen

Specification
Intl.DurationFormat
# sec-Intl.DurationFormat.prototype.format

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
format

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
In development. Supported in a pre-release version.
In development. Supported in a pre-release version.
No support
No support

Siehe auch