Intl.DateTimeFormat.prototype.formatRangeToParts()
The Intl.DateTimeFormat.prototype.formatRangeToParts()
method returns an array of locale-specific tokens representing each part of the formatted date
range produced by Intl.DateTimeFormat formatters.
Syntax
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.
let date1 = new Date(Date.UTC(2007, 0, 10, 10, 0, 0));
let date2 = new Date(Date.UTC(2007, 0, 10, 11, 0, 0));
// > 'Wed, 10 Jan 2007 10:00:00 GMT'
// > 'Wed, 10 Jan 2007 11:00:00 GMT'
let fmt = new Intl.DateTimeFormat("en", {
hour: 'numeric',
minute: 'numeric'
});
console.log(fmt.formatRange(date1, date2));
// > '10:00 – 11:00 AM'
fmt.formatRangeToParts(date1, date2);
// return value:
// [
// { 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