JavaScript 如何将日期转换为另一个时区

JavaScript 如何将日期转换为另一个时区

在本文中,我们将学习如何将一个时区的日期转换为另一个时区的日期。可以通过两种方法实现:

  • Intl.NumberFormat() 方法
  • toLocaleString() 方法

方法1:使用Intl.DateTimeFormat()和format()

Intl.NumberFormat()方法用于按照本地化格式表示数字,可以根据指定的区域设置来表示货币或百分比。这个对象的format()方法用于返回一个带有指定区域设置和格式选项的日期字符串。这将使日期以所需的时区格式化,并返回转换后的日期字符串。

语法:

intlDateObj = new Intl.DateTimeFormat('en-US', {
                timeZone: "America/New_York"
            });
usaTime = intlDateObj.format(date);
JavaScript

示例: 在这个示例中,我们将使用 Intl.NumberFormat()方法

<!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>
HTML

输出:

JavaScript 如何将日期转换为另一个时区

方法2:使用toLocaleString() 方法:

使用 toLocaleString()方法可以返回一个字符串,该字符串根据指定的地区设置和选项格式化日期。它会将方法使用的日期从一个时区转换到另一个时区。

语法:

usaTime = date.toLocaleString("en-US", {timeZone: "America/New_York"});
JavaScript

示例: 在这个示例中,我们将使用 使用toLocaleString()方法示例

<!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>
HTML

输出:

JavaScript 如何将日期转换为另一个时区

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册