この記事ではDate
オブジェクトのgetTime
メソッドについて、以下の内容をサンプルコードを用いてわかりやすく解説します。
getTime
メソッドとはgetTime
メソッドの構文getTime
メソッドの特徴getTime
メソッドの使い方getTime
メソッドとvalueOf
メソッドの違い
getTimeメソッドとは
getTime
メソッドは、「協定世界時(UTC)の1970年1月1日0時0分0秒」から「Date
オブジェクトの日時」までの経過したミリ秒数を取得するメソッドです。
後ほどgetTime
メソッドの構文や使い方について詳しく説明しますが、まず以下に示す簡単なサンプルコードを見てみましょう。
const date = new Date(); // 現在日時を取得
console.log(date.getTime()); // 「1970年1月1日00:00:00 UTC」から現在までの経過したミリ秒数
// 出力例
// 158243760000
このコードを実行すると「1970年1月1日00:00:00 UTC」から現在日時までの経過したミリ秒数が出力されます。
あわせて読みたい
「協定世界時(UTC)の1970年1月1日午前0時0分0秒」からの経過したミリ秒数のことをエポックミリ秒といいます。
『エポックミリ秒』については下記の記事で詳しく説明しています。興味のある方は下記のリンクからぜひチェックをしてみてください。 続きを見るエポック秒(UNIX時間・POSIX時間)とは?わかりやすく解説!
getTimeメソッドの構文
getTime
メソッドの構文を以下に示します。
getTimeメソッドの構文
date.getTime();
getTime
メソッドの返り値を以下に示します。
返り値(戻り値)
- 「1970年1月1日00:00:00 UTC」から「
Date
オブジェクトの日時」までの経過したミリ秒数
getTimeメソッドの特徴
getTime
メソッドの特徴を以下に示します。
- タイムゾーンに依存しない
getTime
メソッドで取得した値は常にUTC基準のミリ秒数なので、ローカルタイムゾーンの影響を受けません。
- 数値なので計算しやすい
- 取得したミリ秒の値は
number
型であるため、加減算が簡単にでき、日時の差分計算などに最適です。
- 取得したミリ秒の値は
getTimeメソッドの使い方
getTime
メソッドについて、以下に示している使い方を順番に説明します。
- 現在の日時をエポックミリ秒で取得する
- 2つの日付の差分を計算する
- 特定の日時のエポックミリ秒を取得する
- 日付をコピーする
- 実行時間を計測する
現在の日時をエポックミリ秒で取得する
現在の日時をエポックミリ秒で取得するサンプルコードを以下に示します。
const nowDate = new Date();
console.log("現在のミリ秒:", nowDate.getTime());
// 出力例
// 現在のミリ秒: 158243760000
このコードを実行すると「1970年1月1日00:00:00 UTC」から現在日時までの経過したミリ秒数が出力されます。
2つの日付の差分を計算する
2つの日付のエポックミリ秒を取得し、その差を求めることで日数の差を計算できます。サンプルコードを以下に示します。
const startDate = new Date('2025-01-01T00:00:00');
const endDate = new Date('2025-01-10T00:00:00');
const diff = endDate.getTime() - startDate.getTime();
console.log('日数差:', diff / (1000 * 60 * 60 * 24), '日');
// 出力
// 日数差: 9 日
このコードでは、2025年1月1日から2025年1月10日までの差をミリ秒単位で取得し、それを1日(1000 * 60 * 60 * 24
ミリ秒)で割ることで、日数の差を算出しています。
特定の日時のエポックミリ秒を取得する
特定の日時のエポックミリ秒を取得するサンプルコードを以下に示します。
const specificDate = new Date('2000-12-31T23:59:59');
console.log('2000年12月31日のエポックミリ秒:', specificDate.getTime());
// 出力
// 2000年12月31日のエポックミリ秒: 978274799000
このコードを実行すると、「1970年1月1日00:00:00 UTC」から「2000年12月31日23:59:59 UTC」までの経過したミリ秒数が出力されます。
日付をコピーする
Date
オブジェクトの日時をコピーするサンプルコードを以下に示します。
// JavaScriptのDateコンストラクタは月を0から数えるため、birthdayは1990年2月25日になります
const birthday = new Date(1990, 1, 25);
const copyBirthday = new Date();
copyBirthday.setTime(birthday.getTime());
このコードでは、birthday
オブジェクトの日時をgetTime
メソッドで取得しています。その後、setTime
メソッドを使って、新しいDate
オブジェクト(copyBirthday
)にbirthday
の日時をセットしています。
あわせて読みたい
『setTimeメソッド』については下記の記事で詳しく説明しています。興味のある方は下記のリンクからぜひチェックをしてみてください。 続きを見る【JavaScript】setTimeとは?「使い方」などを分かりやすく解説!
実行時間を計測する
getTime
メソッドを利用すると、処理の実行時間を計測できます。
let end, start;
start = new Date();
for (let i = 0; i < 10000000; i++) {
Math.sqrt(i);
}
end = new Date();
console.log(`処理時間 ${end.getTime() - start.getTime()} ミリ秒`);
// 出力例
// 処理時間 8 ミリ秒
このコードでは、処理の開始時間と終了時間をgetTime
メソッドで取得し、差分を取ることで処理にかかった時間(ミリ秒)を計測しています。ただし、処理時間の計測には、performance.now
メソッドを用いる方が一般的です。
あわせて読みたい
続きを見るperformance.now
メソッドについては下記の記事で詳しく説明しています。興味のある方は下記のリンクからぜひチェックをしてみてください。 【JavaScript】Performance APIで処理時間を計測する方法!
getTimeメソッドとvalueOfメソッドの違い
JavaScriptのDate
オブジェクトでは、「協定世界時(UTC)の1970年1月1日0時0分0秒」から「Date
オブジェクトの日時」までの経過したミリ秒数を取得する方法がgetTime
メソッドとvalueOf
メソッドの2つあります。結論から言うと、どちらも同じ値を返します。以下にサンプルコードを示します。
const date1 = new Date(2025, 1, 25); // 2025年2月25日
console.log(date1.getTime()); // 1740409200000
const date2 = new Date(2025, 1, 25); // 2025年2月25日
console.log(date2.valueOf()); // 1740409200000
valueOf
メソッドは、Date
オブジェクトが内部的に持つ「プリミティブ値(数値)」を取得するメソッドです。Date
オブジェクトは、日付や時刻の情報を「1970年1月1日 00:00:00 UTC からの経過ミリ秒」の値として持っています。valueOf
メソッドを使うと、このミリ秒単位の数値を取得できます。結果として、getTime
メソッドと同じ値を返します。
本記事のまとめ
この記事ではDate
オブジェクトのgetTime
メソッドについて、以下の内容を説明しました。
getTime
メソッド- 「協定世界時(UTC)の1970年1月1日0時0分0秒」から「
Date
オブジェクトの日時」までの経過したミリ秒数を取得する
- 「協定世界時(UTC)の1970年1月1日0時0分0秒」から「
getTime
メソッドとvalueOf
メソッドは同じ値を返す
お読み頂きありがとうございました。