Open In App
Related Articles

How to convert date to another timezone in JavaScript ?

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Report issue
Report

In this article, we will learn how to convert the date of one timezone to another.

Below are the methods to convert date to another timezone in JavaScript:

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: In this example, we will use Intl.NumberFormat() method.

html

<!DOCTYPE html>
<html lang="en">
<head>
    <title>
        How to convert date to another timezone in JavaScript ?
    </title>
</head>
 
<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>
</html>

                    

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: In this example, we will use Using toLocaleString() method

html

<!DOCTYPE html>
<html lang="en">
<head>
    <title>
        How to convert date to another timezone in JavaScript ?
    </title>
</head>
 
<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>
</html>

                    

Output:



Last Updated : 20 Dec, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads