JavaScript で日付にタイムスタンプを変換する

Moataz Farid 2023年10月12日
JavaScript で日付にタイムスタンプを変換する

このチュートリアルでは、JavaScript で Unix のタイムスタンプを日付に変換する方法を説明します。Unix のタイムスタンプは 1970 年 1 月 1 日 00:00:00:00 UTC からの経過時間を秒単位で表したものです。

JavaScript の Date オブジェクトには、1970 年 1 月 1 日 00:00:00:00 UTC からの経過時間をミリ秒単位で表現したものが含まれます。

JavaScript で Unix タイムスタンプを Date に変換する

新しいオブジェクトを Date() クラスから new Date() を用いて作成すると、作成時の時刻をミリ秒単位で返します。特定の時点で Date クラスからオブジェクトを取得する必要がある場合は、そのクラスのコンストラクタにエポックタイムスタンプを渡すことができます。

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 のタイムスタンプは秒単位なので、1000 を掛けて Unix のタイムスタンプを 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