📌  相关文章
📜  将UTC时间转换为特定时区javascript(1)

📅  最后修改于: 2023-12-03 14:53:46.327000             🧑  作者: Mango

将UTC时间转换为特定时区 JavaScript

在开发Web应用程序时,需要将UTC时间转换为特定时区的本地时间。这个过程可以在浏览器端使用JavaScript很容易地完成。

获取UTC时间

我们可以使用JavaScript的 Date 对象来获取当前的UTC时间。

const utcDate = new Date();
设置时区

JavaScript没有内置的时区功能,但我们可以使用第三方库Moment.js来处理时区。

首先需要在html文件中加载Moment.js依赖库。

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>

我们可以使用moment.js的 tz() 方法,将UTC时间转换为特定时区的时间。

const utcDate = new Date();
const timeZone = 'America/New_York';
const localDate = moment.utc(utcDate).tz(timeZone);

这样我们就得到了以 timeZone 时区为基准的本地时间。

完整代码
<!DOCTYPE html>
<html>
<head>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
</head>
<body>
    <script>
        const utcDate = new Date();
        const timeZone = 'America/New_York';
        const localDate = moment.utc(utcDate).tz(timeZone);
        console.log(localDate.format());
    </script>
</body>
</html>

以上代码将输出当前时间的本地表示。

2019-09-26T14:22:31-04:00

我们可以更改 timeZone 的值以获得不同的时间戳。

结论

JavaScript的 Date 对象提供了获取UTC时间的功能,Moment.js库提供了转换时区的功能,我们可以很容易地将UTC时间转换为本地时间。