📌  相关文章
📜  如何使用 JavaScript 将 UTC 日期时间转换为本地日期时间?(1)

📅  最后修改于: 2023-12-03 15:23:53.045000             🧑  作者: Mango

如何使用 JavaScript 将 UTC 日期时间转换为本地日期时间?

在编写 JavaScript 程序时,常常需要处理日期时间服务。很多日期时间的服务端都采用 UTC(协调世界时,在中国为 GMT+8 时区)作为时间基准,因此需要将 UTC 日期时间转换为本地日期时间。本文将介绍如何使用 JavaScript 来实现这一功能。

1. 获取 UTC 日期时间

在 JavaScript 中获取 UTC 日期时间有很多种方法,这里我们以 Date.UTC() 方法为例。该方法接受年份、月份、日期等参数,返回对应的 UTC 时间戳。

const utcDate = Date.UTC(2021, 8, 15, 12, 0, 0); // 2021-09-15T12:00:00.000Z

上述代码中,我们传入年份、月份、日期、小时、分钟、秒等参数,通过 Date.UTC() 方法获取对应的 UTC 时间戳,存储在 utcDate 中。

2. 转换为本地日期时间

转换 UTC 日期时间为本地日期时间的方法有很多种,下面介绍两种常用的方法:toLocaleString()toLocaleDateString() 方法。

2.1. 使用 toLocaleString() 方法

toLocaleString() 方法将日期时间转换为本地日期时间的字符串表示,方法接受两个参数:区域设置和选项。区域设置用于设置日期时间格式的语言、日期格式、时间格式等信息。如果不指定区域设置,则使用默认值。选项用于进一步定义日期时间格式,比如是否显示日期、时间、日期时间、时区等信息。

const localDateTime = new Date(utcDate).toLocaleString(); // "2021/9/15 下午8:00:00"

上述代码中,我们使用 new Date() 构造函数将 UTC 时间戳转换为本地日期时间。然后调用 toLocaleString() 方法转换为字符串表示,存储在 localDateTime 中。

2.2. 使用 toLocaleDateString() 方法

toLocaleDateString() 方法与 toLocaleString() 方法类似,不同的是它只显示日期部分,不显示时间部分。

const localDate = new Date(utcDate).toLocaleDateString(); // "2021/9/15"

上述代码中,我们使用 new Date() 构造函数将 UTC 时间戳转换为本地日期时间。然后调用 toLocaleDateString() 方法转换为字符串表示,存储在 localDate 中。

3. 总结

JavaScript 中可以使用 Date.UTC() 方法获取 UTC 日期时间戳,然后使用 new Date() 构造函数将其转换为本地日期时间。可以使用 toLocaleString() 方法将本地日期时间转换为字符串表示,也可以使用 toLocaleDateString() 方法只转换日期部分。对于 toLocaleString()toLocaleDateString() 方法还可以传入区域设置和选项参数,更灵活地定义日期时间格式。