カテゴリ: 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
JavaScript
JavaScriptの条件式におけるnull・undefined判定のコツ!初心者でもわかる判定方法ガイド
New2
JavaScript
JavaScriptの条件式で論理演算子(&&, ||, !)を活用する方法!初心者でもわかる使い方ガイド
New3
TypeScript
TypeScriptでエラー処理を共通関数化して効率的に開発しよう!初心者向け例外処理ガイド
New4
JavaScript
JavaScriptの条件式における比較演算子の使い方まとめ!初心者でもわかる基本ルールと活用法
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.2
Java&Spring記事人気No2
JavaScript
JavaScriptのtoStringとString関数の違いを初心者向けに解説
No.3
Java&Spring記事人気No3
TypeScript
TypeScriptでコメントを書く正しい書き方と使い分け【初心者向けにやさしく解説】
No.4
Java&Spring記事人気No4
JavaScript
JavaScriptで統一感のあるコードを書くための基本ルール完全ガイド初心者向けコーディング規約入門
No.5
Java&Spring記事人気No5
JavaScript
JavaScriptのonclick・onchangeなどの基本イベントを理解しよう
No.6
Java&Spring記事人気No6
JavaScript
JavaScriptプログラムの実行方法まとめ!ブラウザ・Node.js・コンソールの使い方
No.7
Java&Spring記事人気No7
TypeScript
TypeScriptのnever型を使ったエラーハンドリング!例外処理を極める安全なコードの書き方
No.8
Java&Spring記事人気No8
JavaScript
JavaScriptの数値フォーマット(小数点以下の桁数調整)を学ぼう