Intl.DateTimeFormat.prototype.formatRange()
基线 广泛可用
此功能已得到良好建立,并在许多设备和浏览器版本中运行。它自 2017 年 9 月.
报告反馈
试试看
语法
formatRange()
是 Intl.DateTimeFormat
实例的方法,它根据实例化此 Intl.DateTimeFormat
对象时提供的区域设置和选项,以最简洁的方式格式化日期范围。formatRange(startDate, endDate)
js
参数
-
startDate
表示日期范围开始的
Date
对象。-
endDate
表示日期范围结束的 Date
对象。
返回值
示例
表示给定日期范围的字符串,根据此 Intl.DateTimeFormat
对象的区域设置和格式选项进行格式化。
基本 formatRange 用法
formatRange()
是 Intl.DateTimeFormat
实例的方法,它根据实例化此 Intl.DateTimeFormat
对象时提供的区域设置和选项,以最简洁的方式格式化日期范围。const date1 = new Date(Date.UTC(1906, 0, 10, 10, 0, 0)); // Wed, 10 Jan 1906 10:00:00 GMT
const date2 = new Date(Date.UTC(1906, 0, 10, 11, 0, 0)); // Wed, 10 Jan 1906 11:00:00 GMT
const date3 = new Date(Date.UTC(1906, 0, 20, 10, 0, 0)); // Sat, 20 Jan 1906 10:00:00 GMT
const fmt1 = new Intl.DateTimeFormat("en", {
year: "2-digit",
month: "numeric",
day: "numeric",
hour: "numeric",
minute: "numeric",
});
console.log(fmt1.format(date1)); // '1/10/06, 10:00 AM'
console.log(fmt1.formatRange(date1, date2)); // '1/10/06, 10:00 – 11:00 AM'
console.log(fmt1.formatRange(date1, date3)); // '1/10/06, 10:00 AM – 1/20/07, 10:00 AM'
const fmt2 = new Intl.DateTimeFormat("en", {
year: "numeric",
month: "short",
day: "numeric",
});
console.log(fmt2.format(date1)); // 'Jan 10, 1906'
console.log(fmt2.formatRange(date1, date2)); // 'Jan 10, 1906'
console.log(fmt2.formatRange(date1, date3)); // 'Jan 10 – 20, 1906'
规范
此方法接收两个 Date 并根据实例化 Intl.DateTimeFormat 时提供的 locale 和 options 以最简洁的方式格式化日期范围。 |
---|
规范 # ECMAScript 国际化 API 规范 |
浏览器兼容性
sec-intl.datetimeformat.prototype.formatRange