カテゴリ: JavaScript 更新日: 2025/12/24

JavaScriptで日時を比較する方法!getTimeとvalueOfを使って簡単に理解

JavaScriptの日時を比較する方法(getTime, valueOf)
JavaScriptの日時を比較する方法(getTime, valueOf)

先生と生徒の会話形式で理解しよう

生徒

「JavaScriptで2つの日付を比べたいんですけど、どうやればいいですか?」

先生

「JavaScriptでは、Dateオブジェクトを作って、getTime()valueOf()を使うと簡単に比較できます。」

生徒

「getTimeとかvalueOfって何ですか?難しそうです…」

先生

「日付はコンピュータの中では数値で管理されています。getTimeやvalueOfはその数値を取り出すメソッドで、ミリ秒単位での比較ができます。」

1. Dateオブジェクトで日付を作る

1. Dateオブジェクトで日付を作る
1. Dateオブジェクトで日付を作る

まずは比較したい日付をDateオブジェクトで作ります。Dateオブジェクトは年・月・日・時・分・秒を指定して作ることもできます。


const date1 = new Date(2025, 10, 18, 10, 0, 0); // 11月18日 10時
const date2 = new Date(2025, 10, 18, 15, 30, 0); // 11月18日 15時30分
console.log(date1);
console.log(date2);

2025-11-18T01:00:00.000Z
2025-11-18T06:30:00.000Z

注意点として、JavaScriptの月は0から始まるため、11月は10になります。

2. getTime()で日時を数値に変換

2. getTime()で日時を数値に変換
2. getTime()で日時を数値に変換

Dateオブジェクトを直接比較することはできますが、確実に正確な比較をしたいときはgetTime()を使います。これは1970年1月1日からのミリ秒数を返します。


const time1 = date1.getTime();
const time2 = date2.getTime();
console.log(time1);
console.log(time2);

1761050400000
1761072600000

このように数値に変換すると、大きい方が後の日時、小さい方が前の日時だとわかります。

3. valueOf()でも同じことができる

3. valueOf()でも同じことができる
3. valueOf()でも同じことができる

valueOf()もDateオブジェクトのミリ秒値を返します。getTime()と同じ結果になるので、どちらを使っても構いません。


console.log(date1.valueOf());
console.log(date2.valueOf());

1761050400000
1761072600000

valueOfを使うと、演算や比較に直接使える数値が得られます。

4. 日付を比較する例

4. 日付を比較する例
4. 日付を比較する例

getTime()やvalueOf()で取得した数値を使って、簡単に日付の比較ができます。


if (date1.getTime() < date2.getTime()) {
  console.log("date1はdate2より前の日付です。");
} else if (date1.getTime() > date2.getTime()) {
  console.log("date1はdate2より後の日付です。");
} else {
  console.log("date1とdate2は同じ日時です。");
}

date1はdate2より前の日付です。

この方法なら、正確に日時の順序を判定できます。イベントの開始・終了日時の比較や、期限のチェックなどで非常に役立ちます。

5. Dateオブジェクトの比較のポイント

5. Dateオブジェクトの比較のポイント
5. Dateオブジェクトの比較のポイント

日付の比較で重要なのは、Dateオブジェクトそのものではなく、getTime()valueOf()で取得した数値を比較することです。これにより、タイムゾーンやミリ秒まで正確に比較できます。

プログラミング未経験でも、数値で比較するイメージを持てば理解しやすいです。日付は見た目だけでなく、コンピュータ内部ではミリ秒で管理されているということを覚えておきましょう。

この記事の本文の日本語文字数(サンプルコード除く)は:2,812文字

カテゴリの一覧へ
新着記事
New1
TypeScript
TypeScriptでパスエイリアスを設定する方法!baseUrlとpathsでコードをスッキリ整理
New2
JavaScript
JavaScriptのfor文の書き方を初心者向けにやさしく解説
New3
JavaScript
JavaScriptの関数でよくあるエラーとその解決法まとめ
New4
JavaScript
JavaScriptのイベント処理でよくあるエラーとその対処法
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.2
Java&Spring記事人気No2
JavaScript
JavaScriptのマウスイベントの使い方(click, mouseoverなど)
No.3
Java&Spring記事人気No3
JavaScript
JavaScriptのtoStringとString関数の違いを初心者向けに解説
No.4
Java&Spring記事人気No4
JavaScript
JavaScriptの純粋関数(pure function)と副作用の違いを理解しよう
No.5
Java&Spring記事人気No5
JavaScript
JavaScriptプログラムの実行方法まとめ!ブラウザ・Node.js・コンソールの使い方
No.6
Java&Spring記事人気No6
JavaScript
JavaScriptで文字列をforループで1文字ずつ処理する方法!初心者向け解説
No.7
Java&Spring記事人気No7
TypeScript
TypeScript学習におすすめの無料教材・リファレンスサイト【初心者向け】
No.8
Java&Spring記事人気No8
TypeScript
TypeScriptの始め方:開発環境の構築手順【初心者向け】