📅  最后修改于: 2023-12-03 15:23:53.045000             🧑  作者: Mango
在编写 JavaScript 程序时,常常需要处理日期时间服务。很多日期时间的服务端都采用 UTC(协调世界时,在中国为 GMT+8 时区)作为时间基准,因此需要将 UTC 日期时间转换为本地日期时间。本文将介绍如何使用 JavaScript 来实现这一功能。
在 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
中。
转换 UTC 日期时间为本地日期时间的方法有很多种,下面介绍两种常用的方法:toLocaleString()
和 toLocaleDateString()
方法。
toLocaleString()
方法将日期时间转换为本地日期时间的字符串表示,方法接受两个参数:区域设置和选项。区域设置用于设置日期时间格式的语言、日期格式、时间格式等信息。如果不指定区域设置,则使用默认值。选项用于进一步定义日期时间格式,比如是否显示日期、时间、日期时间、时区等信息。
const localDateTime = new Date(utcDate).toLocaleString(); // "2021/9/15 下午8:00:00"
上述代码中,我们使用 new Date()
构造函数将 UTC 时间戳转换为本地日期时间。然后调用 toLocaleString()
方法转换为字符串表示,存储在 localDateTime
中。
toLocaleDateString()
方法与 toLocaleString()
方法类似,不同的是它只显示日期部分,不显示时间部分。
const localDate = new Date(utcDate).toLocaleDateString(); // "2021/9/15"
上述代码中,我们使用 new Date()
构造函数将 UTC 时间戳转换为本地日期时间。然后调用 toLocaleDateString()
方法转换为字符串表示,存储在 localDate
中。
JavaScript 中可以使用 Date.UTC()
方法获取 UTC 日期时间戳,然后使用 new Date()
构造函数将其转换为本地日期时间。可以使用 toLocaleString()
方法将本地日期时间转换为字符串表示,也可以使用 toLocaleDateString()
方法只转换日期部分。对于 toLocaleString()
和 toLocaleDateString()
方法还可以传入区域设置和选项参数,更灵活地定义日期时间格式。