Intl.DurationFormat.prototype.format()
Baseline 2025Newly available
Since March 2025, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
Die format()
-Methode von Intl.DurationFormat
Instanzen formatiert eine Dauer gemäß der Lokalisierung und den Formatierungsoptionen dieses Intl.DurationFormat
Objekts.
Syntax
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 Ganzzahl sein, und deren Vorzeichen sollten konsistent sein. Dies kann einTemporal.Duration
Objekt sein; siehe dieTemporal.Duration
Dokumentation für mehr Informationen über diese Eigenschaften.
Rückgabewert
Ein String, der die gegebene duration
formatiert gemäß der Lokalisierung und den Formatierungsoptionen dieses Intl.DurationFormat
Objekts repräsentiert.
Hinweis:
Meistens ist das Format, das von format()
zurückgegeben wird, konsistent. Jedoch kann die Ausgabe je nach Implementierungen unterschiedlich sein, sogar innerhalb derselben Lokalisierung – Abweichungen der Ausgabe sind absichtlich und durch die Spezifikation erlaubt. Es könnte auch nicht dem entsprechen, was Sie erwarten. Zum Beispiel könnte der String geschützte Leerzeichen verwenden oder von bidirektionalen Steuerzeichen umgeben sein. Sie sollten die Ergebnisse von format()
nicht mit fest codierten Konstanten vergleichen.
Beispiele
Verwendung von format()
Das folgende Beispiel zeigt, wie ein Duration-Formatter mit der englischen Sprache erstellt wird.
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 Lokalisierungen und Stilen
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
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 |