Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

JavaScript | Intl.DateTimeFormat.prototype.formatRangeToParts() Method

  • Last Updated : 20 Nov, 2021

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 accepts two parameters as mentioned above and described below:  

  • startDate: This parameter holds the starting date of range.
  • endDate: This parameter holds the ending date of range.

Below examples illustrate the Intl.DateTimeFormat.prototype.formatRangeToParts() method in JavaScript:

Example 1:  

Javascript




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: 

Javascript




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 76 and above
  • WebView Android 76 and above
  • Chrome Android 76 and above
  • Opera Android 54 and above
  • Edge 79 and above
  • Firefox 91 and above

 


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!