📅  最后修改于: 2023-12-03 15:20:54.147000             🧑  作者: Mango
在编程中,我们经常需要将 Unix 时间戳转换为日期时间格式来进行显示或操作。Unix 时间戳表示从 1970 年 1 月 1 日 00:00:00 GMT(格林威治标准时间)起的秒数。本文将介绍如何使用 JavaScript 将 Unix 时间戳转换为日期时间格式。
在 JavaScript 中,可以使用 Date
对象的 getTime()
方法来获取 Unix 时间戳,然后通过 new Date(时间戳)
方法将其转换为日期格式,如下所示:
const unix_timestamp = 1630636761;
const date = new Date(unix_timestamp * 1000);
console.log(date.toUTCString()); // 输出:Fri, 03 Sep 2021 16:26:01 GMT
代码解释:
const unix_timestamp = 1630636761;
声明一个 Unix 时间戳变量;const date = new Date(unix_timestamp * 1000);
将 Unix 时间戳转换为毫秒数,并用 new Date()
方法创建一个日期对象;console.log(date.toUTCString());
将日期对象以 UTC 时间格式输出。但是需要注意的是,在 Unix 时间戳转换为日期时间格式时需要将其乘以 1000 转换为毫秒数。
如果需要将日期时间格式进行自定义格式化,可以使用 Intl
对象的 DateTimeFormat
方法,如下所示:
const unix_timestamp = 1630636761;
const date = new Date(unix_timestamp * 1000);
const formatter = new Intl.DateTimeFormat('zh-CN', {
year: 'numeric',
month: '2-digit',
day: '2-digit',
hour: '2-digit',
minute: '2-digit',
second: '2-digit',
hour12: false,
timeZone: 'UTC'
});
console.log(formatter.format(date)); // 输出:2021/09/03 16:26:01
代码解释:
const formatter = new Intl.DateTimeFormat('zh-CN', {...});
创建一个日期时间格式化对象,第一个参数是区域设置,即输出语言和格式;year
、month
、day
、hour
、minute
、second
分别表示年、月、日、小时、分钟和秒,如果需要显示上下午,则需要设置 hour12: true
;timeZone
表示时区,这里设置为 UTC。本文介绍了将 Unix 时间戳转换为日期时间格式的两种方法:简单方法和格式化方法。以上两种方法应该可以满足大多数场景的需求。