Intl.DateTimeFormat.prototype.formatRangeToParts()
The formatRangeToParts() method of Intl.DateTimeFormat instances returns an array of locale-specific tokens representing each part of the formatted date
range produced by this Intl.DateTimeFormat object.
Try it
Syntax
js
formatRangeToParts(startDate, endDate)
Examples
Basic formatRangeToParts usage
This method receives two Dates and returns an Array of
objects containing the locale-specific tokens representing each part of the formatted date range.
Note: The return values shown in your locale may differ from those listed below.
js
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 fmt = new Intl.DateTimeFormat("en", {
hour: "numeric",
minute: "numeric",
});
console.log(fmt.formatRange(date1, date2)); // '10:00 – 11:00 AM'
fmt.formatRangeToParts(date1, date2);
// [
// { type: 'hour', value: '10', source: "startRange" },
// { type: 'literal', value: ':', source: "startRange" },
// { type: 'minute', value: '00', source: "startRange" },
// { type: 'literal', value: ' – ', source: "shared" },
// { type: 'hour', value: '11', source: "endRange" },
// { type: 'literal', value: ':', source: "endRange" },
// { type: 'minute', value: '00', source: "endRange" },
// { type: 'literal', value: ' ', source: "shared" },
// { type: 'dayPeriod', value: 'AM', source: "shared" }
// ]
Specifications
| Specification |
|---|
| ECMAScript Internationalization API Specification # sec-Intl.DateTimeFormat.prototype.formatRangeToParts |
Browser compatibility
BCD tables only load in the browser