How to convert date to another timezone in JavaScript ?
In this article we will learn how to convert date of one timezone to another.
Method 1: Using Intl.DateTimeFormat() and format()
The Intl.NumberFormat() method is used to represent numbers in language-sensitive formatting. It can be used to represent currency or percentages according to the locale specified. The format() method of this object is used to return a string of the date with the specified locale and formatting options. This will format the date to the timezone required and return a string with the converted date.
Syntax:
intlDateObj = new Intl.DateTimeFormat('en-US', { timeZone: "America/New_York" }); usaTime = intlDateObj.format(date);
Example:
html
< body > < h1 style = "color: green" > GeeksForGeeks </ h1 > < b > How to convert date to another timezone in JavaScript? </ b > < br >< br > < button onclick = "changeTimezone()" > CLick here to change an IST date to US timezone </ button > < script type = "text/javascript" > function changeTimezone() { let date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0)); document.write('Given IST datetime: ' + date + "< br >"); let intlDateObj = new Intl.DateTimeFormat('en-US', { timeZone: "America/New_York" }); let usaTime = intlDateObj.format(date); document.write('USA date: ' + usaTime); } </ script > </ body > |
Output:

Method 2: Using toLocaleString() method:
The toLocaleString() method is used to return a string that formats the date according to the locale and options specified. It will convert the date on which the method is used from one timezone to another.
Syntax:
usaTime = date.toLocaleString("en-US", {timeZone: "America/New_York"});
Example:
html
< body > < h1 style = "color: green" > GeeksForGeeks </ h1 > < b > How to convert date to another timezone in JavaScript? </ b > < br >< br > < button onclick = "changeTimezone()" > Change timezone </ button > < script type = "text/javascript" > function changeTimezone() { let date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0)); document.write('Given IST datetime: ' + date + "< br >"); let usaTime = date.toLocaleString("en-US", { timeZone: "America/New_York" }); document.write('USA datetime: ' + usaTime); } </ script > </ body > |
Output:

Please Login to comment...