The Intl.DateTimeFormat.prototype.formatRangeToParts() method is an inbuilt method in JavaScript which is used to allows locale-specific tokens representing each part of the formatted date range produced by DateTimeFormat formatters.
Syntax:
Intl.DateTimeFormat.prototype.formatRangeToParts(startDate, endDate)
Parameters: This method accep two parameters as mentioned above and decsribed below:
- startDate: This parameter holds the starting date of range.
- endDate: This parameter holds the ending date of range.
Below examples uillustrate the Intl.DateTimeFormat.prototype.formatRangeToParts() method in JvaScript:
Example 1:
const startDate = new Date(Date.UTC(1997, 5, 30, 3, 3, 3)); const endDate = new Date(Date.UTC(2073, 7, 6, 11, 0, 0)); let result = new Intl.DateTimeFormat( "hi" , { hour: 'numeric' , minute: 'numeric' }); console.log(result.formatRange(startDate, endDate)); let val = result.formatRangeToParts(startDate, endDate); console.log(val[0]); console.log(val[2]); console.log(val[3]); console.log(val[8]); |
Output:
"30/6/1997, 8:33 am – 6/8/2073, 4:30 pm" Object { type: "day", value: "30", source: "startRange" } Object { type: "month", value: "6", source: "startRange" } Object { type: "literal", value: "/", source: "startRange" } Object { type: "minute", value: "33", source: "startRange" }
Example 2:
let geek1 = new Date(Date.UTC(1997, 5, 30, 10, 0, 0)); let geek2 = new Date(Date.UTC(2020, 2, 26, 11, 0, 0)); let geek3 = new Date(Date.UTC(2073, 6, 23, 10, 0, 0)); let result1 = new Intl.DateTimeFormat( "en" , { year: '2-digit' , month: 'numeric' , day: 'numeric' , hour: 'numeric' , minute: 'numeric' }); console.log(result1.format(geek1)); console.log(result1.formatRange(geek1, geek2)); console.log(result1.formatRange(geek1, geek3)); let result2 = new Intl.DateTimeFormat( "hi" , { year: 'numeric' , month: 'short' , day: 'numeric' }); console.log(result2.format(geek1)); console.log(result2.formatRange(geek1, geek2)); console.log(result2.formatRange(geek1, geek3)); |
Output:
"month" "6" "startRange" "literal" "/" "startRange" "day" "30" "startRange" "literal" "/" "startRange" "year" "1997" "startRange" "literal" ", " "startRange" "hour" "8" "startRange" "literal" ":" "startRange" "minute" "33" "startRange" "literal" " " "startRange" "dayPeriod" "AM" "startRange" "literal" " – " "shared" "month" "8" "endRange" "literal" "/" "endRange" "day" "6" "endRange" "literal" "/" "endRange" "year" "2073" "endRange" "literal" ", " "endRange" "hour" "4" "endRange" "literal" ":" "endRange" "minute" "30" "endRange" "literal" " " "endRange" "dayPeriod" "PM" "endRange"
Supported Browsers: The browsers supported by Intl.DateTimeFormat.prototype.formatRangeToParts() method are listed below:
- Google Chrome
- WebView Android
- Chrome Android
- Opera Android