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
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 einTemporal.Duration
-Objekt sein; sehen Sie dieTemporal.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.
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
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 |
Browser-Kompatibilität
BCD tables only load in the browser