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.
The format()
method of Intl.DateTimeFormat
instances formats a date according to the locale and formatting options of this Intl.DateTimeFormat
object.
Try it
Syntax
format(date)
Parameters
date
-
The date to format.
Return value
A string representing the given date
formatted according to the locale and formatting options of this Intl.DateTimeFormat
object.
Note:
Most of the time, the formatting returned by format()
is consistent. However, the output may vary between implementations, even within the same locale — output variations are by design and allowed by the specification. It may also not be what you expect. For example, the string may use non-breaking spaces or be surrounded by bidirectional control characters. You should not compare the results of format()
to hardcoded constants.
Examples
Using format
Use the format
getter function for formatting a single date, here for
Serbia:
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."
Using format with map
Use the format
getter function for formatting all dates in an array. Note
that the function is bound to the Intl.DateTimeFormat
from which it was obtained, so it can be passed directly to
Array.prototype.map()
.
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"
Specifications
Specification |
---|
ECMAScript Internationalization API Specification # sec-intl.datetimeformat.prototype.format |
Browser compatibility
BCD tables only load in the browser