Intl.DateTimeFormat.prototype.format()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2017.
Die Methode format()
von Intl.DateTimeFormat
Instanzen formatiert ein Datum gemäß den Lokalisierungs- und Formatierungsoptionen dieses Intl.DateTimeFormat
-Objekts.
Probieren Sie es aus
const options1 = {
weekday: "long",
year: "numeric",
month: "long",
day: "numeric",
};
const date1 = new Date(2012, 5);
const dateTimeFormat1 = new Intl.DateTimeFormat("sr-RS", options1);
console.log(dateTimeFormat1.format(date1));
// Expected output: "петак, 1. јун 2012."
const dateTimeFormat2 = new Intl.DateTimeFormat("en-GB", options1);
console.log(dateTimeFormat2.format(date1));
// Expected output: "Friday, 1 June 2012"
const dateTimeFormat3 = new Intl.DateTimeFormat("en-US", options1);
console.log(dateTimeFormat3.format(date1));
// Expected output: "Friday, June 1, 2012"
Syntax
format(date)
Parameter
date
-
Das zu formatierende Datum. Kann ein
Date
oderTemporal.PlainDateTime
Objekt sein. Zusätzlich kann es sich um einTemporal.PlainTime
,Temporal.PlainDate
,Temporal.PlainYearMonth
, oderTemporal.PlainMonthDay
Objekt handeln, wenn dasDateTimeFormat
Objekt konfiguriert wurde, um mindestens einen relevanten Teil des Datums auszudrucken.Hinweis: Ein
Temporal.ZonedDateTime
Objekt wird immer einenTypeError
auslösen; verwenden SieTemporal.ZonedDateTime.prototype.toLocaleString()
oder konvertieren Sie es stattdessen in einTemporal.PlainDateTime
Objekt.Das Weglassen führt dazu, dass das aktuelle Datum formatiert wird (wie von
Date.now()
zurückgegeben), was leicht verwirrend sein kann, daher ist es ratsam, immer explizit ein Datum zu übergeben.
Rückgabewert
Ein String, der das angegebene date
gemäß den Lokalisierungs- und Formatierungsoptionen dieses Intl.DateTimeFormat
Objekts formatiert darstellt.
Hinweis:
Die Formatierung, die von format()
zurückgegeben wird, ist meistens konsistent. Jedoch kann die Ausgabe zwischen Implementierungen variieren, selbst innerhalb derselben Lokalisierung — Abweichungen in der Ausgabe sind beabsichtigt und durch die Spezifikation erlaubt. Es kann auch anders sein als erwartet. Zum Beispiel könnte der String geschützte Leerzeichen verwenden oder von bidirektionalen Steuerzeichen umgeben sein. Es sollte vermieden werden, die Ergebnisse von format()
mit fest codierten Konstanten zu vergleichen.
Beispiele
Verwendung von format
Verwenden Sie die format
-Getter-Funktion, um ein einzelnes Datum zu formatieren, hier für
Serbien:
const options = {
weekday: "long",
year: "numeric",
month: "long",
day: "numeric",
};
const dateTimeFormat = new Intl.DateTimeFormat("sr-RS", options);
console.log(dateTimeFormat.format(new Date()));
// "недеља, 7. април 2013."
Verwendung von format mit map
Verwenden Sie die format
-Getter-Funktion, um alle Daten in einem Array zu formatieren. Beachten Sie, dass die Funktion an das Intl.DateTimeFormat
gebunden ist, von dem sie bezogen wurde, sodass sie direkt an Array.prototype.map()
übergeben werden kann.
const a = [new Date(2012, 8), new Date(2012, 11), new Date(2012, 3)];
const options = { year: "numeric", month: "long" };
const dateTimeFormat = new Intl.DateTimeFormat("pt-BR", options);
const formatted = a.map(dateTimeFormat.format);
console.log(formatted.join("; "));
// "setembro de 2012; dezembro de 2012; abril de 2012"
Spezifikationen
Specification |
---|
ECMAScript® 2025 Internationalization API Specification # sec-intl.datetimeformat.prototype.format |