📅  最后修改于: 2023-12-03 15:05:47.094000             🧑  作者: Mango
在 JavaScript 中,我们可以将 UTC 时间转换为本地时间。在本文中,我将向大家介绍如何使用 JavaScript 将 UTC 时间转换为本地时间。
我们可以使用 Date.now()
或 new Date().getTime()
方法获取当前 UTC 时间戳。它们都将返回从 UTC 1970 年 1 月 1 日 00:00:00 开始计算的毫秒数。
const utcTimestamp = Date.now();
console.log(utcTimestamp);
// 输出:1626541164532
我们可以使用 Date
构造函数将 UTC 时间戳转换为本地时间。
const utcTimestamp = 1626541164532;
const localDate = new Date(utcTimestamp);
console.log(localDate);
// 输出:2021-07-17T04:59:24.532Z
注意,输出结果中的 Z
表示该时间为 UTC 时间,而非本地时间。
如果我们希望获得本地时间,需要使用 getTimezoneOffset()
方法获取时区偏移量,再手动计算本地时间。
const utcTimestamp = 1626541164532;
const localDate = new Date(utcTimestamp);
const timezoneOffset = localDate.getTimezoneOffset() * 60000; // 转换成毫秒
const localTimestamp = utcTimestamp - timezoneOffset;
console.log(new Date(localTimestamp));
// 输出:2021-07-17T13:59:24.532+09:00
注意,时区偏移量的单位是分钟,需要将其转换为毫秒。另外,输出结果中的 +09:00
表示东九区,即日本时间。
如果我们需要频繁进行 UTC 到本地时间转换,可以将其封装为一个函数。
function utcToLocal(utcTimestamp) {
const localDate = new Date(utcTimestamp);
const timezoneOffset = localDate.getTimezoneOffset() * 60000; // 转换成毫秒
const localTimestamp = utcTimestamp - timezoneOffset;
return new Date(localTimestamp);
}
console.log(utcToLocal(1626541164532));
// 输出:2021-07-17T13:59:24.532+09:00
在 JavaScript 中,我们可以很方便地将 UTC 时间转换为本地时间。只需要使用 Date
构造函数和 getTimezoneOffset()
方法即可。如果频繁进行 UTC 到本地时间转换,我们可以将其封装为一个函数简化操作。