JavaScript で日付にタイムスタンプを変換する
Moataz Farid
2023年10月12日
このチュートリアルでは、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
を指定した形式で表現するための多くのメソッドが用意されています。
getDate()
は、その時点での暦月1 から 31
の日を返します。getMonth()
は、その時点での月の番号0
から11
を返します。getFullYear()
は年を4 桁
形式で返します。getHours()
は、その時刻の正確な時間を24 時間
形式で返します。getMinutes()
は、その時刻における正確な0~59
分を返します。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