📌  相关文章
📜  JavaScript | Intl.DateTimeFormat.prototype.formatRange() 方法(1)

📅  最后修改于: 2023-12-03 15:16:07.894000             🧑  作者: Mango

JavaScript | Intl.DateTimeFormat.prototype.formatRange() 方法

简介

Intl.DateTimeFormat.prototype.formatRange() 方法是用于格式化两个不同日期之间的日期范围的 API。该方法是在 ECMAScript 国际化 API(ECMA-402)的规范中定义的,可以用于跨浏览器的日期格式化。

该方法的语法如下:

DateTimeFormatObject.formatRange(startDate, endDate)

其中,DateTimeFormatObject 是一个 Intl.DateTimeFormat 对象,startDateendDate 是两个日期对象。

参数

该方法接收两个参数:

  • startDate:要格式化的日期范围的起始日期对象。
  • endDate:要格式化的日期范围的结束日期对象。

如果 endDatestartDate 更早,formatRange() 方法会自动交换这两个日期。

返回值

该方法返回一个字符串,表示格式化后的日期范围。

示例代码

下面是一个使用 Intl.DateTimeFormat.prototype.formatRange() 方法格式化日期范围的示例:

const date1 = new Date('2021-01-01');
const date2 = new Date('2022-01-01');

const formatter = new Intl.DateTimeFormat('en-US', {
  dateStyle: 'medium'
});

const result = formatter.formatRange(date1, date2);
console.log(result); // "Jan 1, 2021 – Jan 1, 2022"

在上面的代码中,我们首先创建了两个日期对象 date1date2,然后使用 Intl.DateTimeFormat() 方法创建一个 formatter 对象,该对象的 dateStyle 属性设置为 medium。最后,我们使用 formatRange() 方法格式化 date1date2 形成的日期范围,并将结果打印在控制台上。

支持度

Intl.DateTimeFormat.prototype.formatRange() 方法的支持度较低,需要浏览器的 ECMA-402 实现支持。具体支持度可查看 Can I use

总结

Intl.DateTimeFormat.prototype.formatRange() 方法是用于格式化两个不同日期之间的日期范围的 API。它可以方便地格式化日期,并且跨浏览器兼容性较好。开发者可以根据自己的需要,尝试使用该方法进行日期范围格式化。