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 format() Methode von Intl.DateTimeFormat Instanzen formatiert ein Datum gemäß den Locale- und Formatierungsoptionen dieses Intl.DateTimeFormat Objekts.

Probieren Sie es aus

Syntax

js
format(date)

Parameter

date

Das zu formatierende Datum. Kann ein Date- oder Temporal.PlainDateTime-Objekt sein. Zusätzlich kann es sich um ein Temporal.PlainTime, Temporal.PlainDate, Temporal.PlainYearMonth oder Temporal.PlainMonthDay-Objekt handeln, wenn das DateTimeFormat-Objekt so konfiguriert wurde, dass es mindestens einen relevanten Teil des Datums ausgibt.

Hinweis: Ein Temporal.ZonedDateTime-Objekt wird immer einen TypeError auslösen; verwenden Sie stattdessen Temporal.ZonedDateTime.prototype.toLocaleString() oder konvertieren Sie es in ein Temporal.PlainDateTime-Objekt.

Wenn es weggelassen wird, wird das aktuelle Datum formatiert (wie von Date.now() zurückgegeben), was etwas verwirrend sein kann. Es ist daher ratsam, immer ein Datum explizit zu übergeben.

Rückgabewert

Ein String, der das gegebene date gemäß den Locale- und Formatierungsoptionen dieses Intl.DateTimeFormat Objekts darstellt.

Hinweis: In der Regel ist das von format() zurückgegebene Format konsistent. Jedoch kann die Ausgabe in unterschiedlichen Implementierungen variieren, selbst innerhalb derselben Locale — Ausgabevarianten sind von der Spezifikation erlaubt und beabsichtigt. Es kann auch nicht das sein, was Sie erwarten. Beispielsweise 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

Verwenden Sie die format Getter-Funktion, um ein einzelnes Datum zu formatieren, hier für Serbien:

js
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 die Intl.DateTimeFormat gebunden ist, von der sie abgerufen wurde, sodass sie direkt an Array.prototype.map() übergeben werden kann.

js
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 Internationalization API Specification
# sec-intl.datetimeformat.prototype.format

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch