JavaScript 中将时间戳转换为日期

Moataz Farid 2023年10月12日
JavaScript 中将时间戳转换为日期

本教程将解释我们如何在 JavaScript 中把 Unix 时间戳转换为日期。Unix 时间戳是自 1970 年 1 月 1 日 00:00:00UTC 以来经过的时间,用秒来表示。

JavaScript Date 对象包含了自 1970 年 1 月 1 日 00:00:00 UTC 以来经过的时间,以毫秒为单位。

在 JavaScript 中把 Unix 时间戳转换为 Date

当我们使用 new Date()Date() 类中创建一个新的对象时,它会返回创建时的时间,单位为毫秒。如果我们需要在特定的时间点从 Date 类中获取一个对象,我们可以将 epoch 时间戳传递给该类的构造函数。

var timestamp = 1607110465663
var date = new Date(timestamp);
console.log(date.getTime())
console.log(date)

输出:

1607110465663
2020-12-04T19:34:25.663Z

Date 类提供了许多方法来表示 Date 的首选格式,如:

  1. getDate() 返回当时日历月 1 到 31 的日子。
  2. getMonth() 返回当时的月号 0 到 11
  3. getFullYear() 返回当时的年号 4 位数格式。
  4. getHours()24 小时格式返回该时间的准确小时数。
  5. getMinutes() 返回该时间的准确分钟 0 至 59
  6. getSeconds() 返回该时间的准确秒数 0 到 59
var timestamp = 1607110465663
var date = new Date(timestamp);

console.log(
    'Date: ' + date.getDate() + '/' + (date.getMonth() + 1) + '/' +
    date.getFullYear() + ' ' + date.getHours() + ':' + date.getMinutes() + ':' +
    date.getSeconds());

输出:

Date: 4/12/2020 19:34:25

由于 JavaScript Date 时间戳是以毫秒为单位,而 Unix 时间戳是以秒为单位,所以我们可以将 Unix 时间戳乘以 1000 来转换为 JavaScript 时间戳。如果 Unix 时间戳是 1607110465,那么 JavaScript 时间戳就是 1607110465000

下面的例子演示了我们如何将 Unix 时间戳转换为 JavaScript Date 时间戳。

var unixTimestamp = 62678980
var date = new Date(unixTimestamp * 1000);
console.log('Unix Timestamp:', unixTimestamp)
console.log('Date Timestamp:', date.getTime())
console.log(date)
console.log(
    'Date: ' + date.getDate() + '/' + (date.getMonth() + 1) + '/' +
    date.getFullYear() + ' ' + date.getHours() + ':' + date.getMinutes() + ':' +
    date.getSeconds());

输出:

Unix Timestamp: 62678980
Date Timestamp: 62678980000
Mon Dec 27 1971 12:49:40 GMT+0200 (Eastern European Standard Time)
Date: 27/12/1971 12:49:40

相关文章 - JavaScript Date