カテゴリ: Python 更新日: 2026/02/16

Pythonで日付の比較をする方法を完全解説!初心者でもわかるdatetimeオブジェクトの使い方

Pythonで日付の比較をする方法(datetimeオブジェクトの比較演算)
Pythonで日付の比較をする方法(datetimeオブジェクトの比較演算)

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

生徒

「Pythonで日付を比べたいんですが、今日と昨日、どっちが新しいかってどうやって判断するんですか?」

先生

「Pythonでは、datetimeという仕組みを使うと、日付や時間を数字のように比べることができます。」

生徒

「数字みたいに比べられるんですか?パソコンをほとんど触ったことがなくても大丈夫でしょうか?」

先生

「大丈夫です。今日はパソコンが初めての人でもわかるように、日付の比較を一から説明していきます。」

-

1. Pythonで日付を扱うとはどういうこと?

1. Pythonで日付を扱うとはどういうこと?
1. Pythonで日付を扱うとはどういうこと?

Pythonで日付を扱うというのは、「今日はいつか」「この日付はあの日より前か後か」をパソコンに判断させることです。人間はカレンダーを見て直感的に判断できますが、パソコンは数字として理解させる必要があります。

そこで使われるのが、Pythonに最初から用意されているdatetimeという仕組みです。これは「年・月・日・時間」をひとまとめにした箱のようなものだと考えると分かりやすいです。

2. datetimeオブジェクトとは何かを知ろう

2. datetimeオブジェクトとは何かを知ろう
2. datetimeオブジェクトとは何かを知ろう

datetimeオブジェクトとは、日付や時間の情報をまとめて持つPythonのデータです。データとは、パソコンが覚えておく情報のことです。

例えば「2026年1月1日」という日付を、そのまま文字で覚えさせるのではなく、「年は2026、月は1、日は1」という形で整理して保存します。これにより、日付の比較や計算が簡単になります。


from datetime import datetime

today = datetime(2026, 1, 22)
print(today)

2026-01-22 00:00:00

3. Pythonで日付を比較する基本ルール

3. Pythonで日付を比較する基本ルール
3. Pythonで日付を比較する基本ルール

Pythonでは、datetimeオブジェクト同士を比べるときに、数字と同じ記号を使います。たとえば「小さい」「大きい」を表す記号です。

具体的には、<(より前)、>(より後)、==(同じ日)といった比較演算子を使います。比較演算子とは、2つのものを比べるための記号のことです。


from datetime import datetime

day1 = datetime(2026, 1, 1)
day2 = datetime(2026, 1, 10)

if day1 < day2:
    print("day1はday2より前の日付です")

day1はday2より前の日付です

4. 今日と過去の日付を比較してみよう

4. 今日と過去の日付を比較してみよう
4. 今日と過去の日付を比較してみよう

実際によく使われるのが、「今日より前か後か」を調べる処理です。これは、期限切れのチェックや予約日の確認などで使われます。

Pythonでは、今この瞬間の日付と時間を取得することもできます。それがdatetime.now()です。


from datetime import datetime

today = datetime.now()
deadline = datetime(2025, 12, 31)

if today > deadline:
    print("期限は過ぎています")
else:
    print("まだ期限内です")

まだ期限内です
-

5. 同じ日付かどうかを比較する方法

5. 同じ日付かどうかを比較する方法
5. 同じ日付かどうかを比較する方法

日付が「同じかどうか」を調べたい場合もあります。たとえば、誕生日が今日かどうかを確認するような場面です。

この場合は、==という記号を使います。これは「イコール」と読み、左右が同じかどうかを調べる意味があります。


from datetime import datetime

birthday = datetime(2026, 1, 22)
today = datetime(2026, 1, 22)

if birthday == today:
    print("今日は誕生日です")

今日は誕生日です

6. 日付比較で初心者がつまずきやすいポイント

6. 日付比較で初心者がつまずきやすいポイント
6. 日付比較で初心者がつまずきやすいポイント

初心者の方がよく間違えるのが、「文字としての日付」と「datetimeオブジェクトの日付」を混ぜてしまうことです。見た目が同じでも、中身が違うと比較できません。

また、時間まで含まれている点にも注意が必要です。同じ日でも時間が違うと「同じではない」と判断されることがあります。

7. 日付の比較は現実のカレンダーと同じ感覚で考えよう

7. 日付の比較は現実のカレンダーと同じ感覚で考えよう
7. 日付の比較は現実のカレンダーと同じ感覚で考えよう

Pythonでの日付比較は、カレンダーをめくって前後を確認する感覚とよく似ています。未来か過去か、同じ日かどうかを、パソコンが正確に判断してくれます。

datetimeオブジェクトを使えば、複雑な計算をしなくても、シンプルな記号で日付の比較ができるようになります。

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

関連記事:
カテゴリの一覧へ
新着記事
New1
Python
Pythonのシングルトンクラスの作り方を徹底解説!初心者でもわかるデザインパターン入門
New2
Python
Pythonのクラスメソッドと静的メソッドの違いを徹底解説!初心者にもわかる使い分けガイド
New3
Python
Pythonのプロパティ(@property)の使い方を完全ガイド!初心者でも理解できるゲッターとセッター
New4
Python
Pythonの例外処理をやさしく解説!初心者でもわかるtry-exceptの基本と使い方
-
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonで文字列が数値か判定する方法!isdigit()・isnumeric()の違い
No.2
Java&Spring記事人気No2
PHP
PHPの配列をソートする方法!sort, rsort, asort, ksortの使い方を丁寧に解説します!
No.3
Java&Spring記事人気No3
PHP
PHP の基本構文(開始タグ・コメント・インデント)を完全ガイド!初心者向け解説
No.4
Java&Spring記事人気No4
Python
Pythonの書き方を基本から解説!はじめてのPythonプログラム
No.5
Java&Spring記事人気No5
PHP
PHP のコンストラクタ(__construct)とは?使い方を解説
No.6
Java&Spring記事人気No6
Python
Pythonのインストール&環境構築!Windows・Mac・Linuxでの手順を初心者向けに解説
No.7
Java&Spring記事人気No7
PHP
PHPのCookieをJavaScriptで操作する方法!初心者にもわかるdocument.cookieの使い方
No.8
Java&Spring記事人気No8
Python
Pythonの変数とは?定義方法とデータ型を初心者向けに解説
-
-