📌  相关文章
📜  unix 时间到日期 javascript (1)

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

Unix 时间到日期 JavaScript

在编程中,我们经常需要将 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', {...}); 创建一个日期时间格式化对象,第一个参数是区域设置,即输出语言和格式;
  • yearmonthdayhourminutesecond 分别表示年、月、日、小时、分钟和秒,如果需要显示上下午,则需要设置 hour12: true
  • timeZone 表示时区,这里设置为 UTC。
结语

本文介绍了将 Unix 时间戳转换为日期时间格式的两种方法:简单方法和格式化方法。以上两种方法应该可以满足大多数场景的需求。