Intl.DateTimeFormat.prototype.format()

基线 广泛可用

此功能已成熟,可在许多设备和浏览器版本中运行。它已在浏览器中可用,自 2017 年 9 月.

The format() method of Intl.DateTimeFormat instances formats a date according to the locale and formatting options of this Intl.DateTimeFormat object.

试一下

语法

js
format(date)

参数

date

要格式化的日期。

返回值

一个字符串,表示根据此 Intl.DateTimeFormat 对象的区域设置和格式选项格式化的给定 date

注意: 大多数情况下,format() 返回的格式是一致的。但是,输出可能因实现而异,即使在同一个区域设置内也是如此 - 输出差异是按设计实现的,并且由规范允许。它也可能与您的预期不符。例如,该字符串可能使用不间断空格或被双向控制字符包围。您不应该将 format() 的结果与硬编码常量进行比较。

示例

使用 format

使用 format getter 函数格式化单个日期,这里针对塞尔维亚

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."

使用 map 格式化

使用 format getter 函数格式化数组中的所有日期。请注意,该函数绑定到 Intl.DateTimeFormat 对象,它从该对象中获得,因此它可以直接传递到 Array.prototype.map()

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"

规范

规范
ECMAScript 国际化 API 规范
# sec-intl.datetimeformat.prototype.format

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅