1. はじめに
Pythonで日付を扱いたい場面は多くありますが、「現在の日付だけを取得する」にはどうすればよいのでしょうか?
本記事では、Pythonの標準ライブラリdatetime
モジュールに含まれるdate.today()
を使って、現在の日付のみを取得する方法を詳しく解説します。
この記事を読むことで、今日の日付(年-月-日)をシンプルに取得する方法、その応用的な使い方、初心者がつまずきやすいポイントなどを理解できます。
実務でも、ログ記録・日次バッチ処理・日付付きファイル名の作成など、さまざまな場面で役立つ関数です。
2. datetime.date.today() の基本解説
datetime.date.today()とは?
datetime.date.today()
は、今日の日付(年月日)だけを取得するための関数です。
時刻情報(時分秒)は含まれず、あくまで「2025-07-22」のような形式で返ってきます。
基本の使い方とコード例
import datetime
# 今日の日付を取得
today = datetime.date.today()
# 結果を出力
print("今日の日付は:", today)
実行結果:
今日の日付は: 2025-07-22
このように、実行したその日の年月日がdatetime.date
型で返ってきます。
時刻を含まず、ログやファイル名、UI表示用にちょうどよい形式です。
date型とdatetime型の違い
Pythonにはdatetime.datetime
とdatetime.date
の2つの型があります。
- datetime型:年月日 + 時分秒(例:2025-07-22 10:35:42)
- date型:年月日だけ(例:2025-07-22)
時刻情報が不要な場合は、date型で十分です。
3. よくある使い方・応用例
① 日付を文字列として使う
取得したdate
型を文字列に変換することで、ファイル名やログに利用できます。
import datetime
today = datetime.date.today()
# 文字列に変換
today_str = today.strftime("%Y-%m-%d")
print("文字列の日付:", today_str)
実行結果:
文字列の日付: 2025-07-22
② ファイル名に日付を埋め込む
バックアップファイルやログファイルに、今日の日付を付けることで管理がしやすくなります。
import datetime
# 今日の日付を取得し文字列化
today_str = datetime.date.today().strftime("%Y%m%d")
# ファイル名に利用
filename = f"backup_{today_str}.txt"
print("ファイル名:", filename)
実行結果:
ファイル名: backup_20250722.txt
③ 日付を比較して処理を分岐
今日が締切日かどうかを判定したいケースでも使えます。
import datetime
today = datetime.date.today()
deadline = datetime.date(2025, 7, 25)
if today < deadline:
print("まだ締切前です")
else:
print("締切を過ぎています")
実行結果:
まだ締切前です
4. 注意点・エラー対策
① datetimeモジュールの構造に注意
datetime.date.today()
を使うには、import datetime
が必要です。
また、date.today()
だけを書こうとしてエラーになるケースもあります。
以下のような書き方だとエラーになります:
# 間違った例
from datetime import datetime
today = date.today() # 'date' が未定義でエラーになります
正しくは、次のようにdateもimportする必要があります:
from datetime import date
today = date.today()
print(today)
② タイムゾーンには対応していない
date.today()
はタイムゾーンを考慮していないため、グローバルアプリケーションでは注意が必要です。
UTCやローカルタイムとのズレが重要な場合は、datetime.now(timezone)
と組み合わせる必要があります。
③ 時刻情報が必要な場合はdatetime.now()を使う
現在の時刻も含めて取得したい場合はdatetime.datetime.now()
を使用してください。
import datetime
now = datetime.datetime.now()
print("現在の日時:", now)
実行結果:
現在の日時: 2025-07-22 10:42:18.123456
5. まとめ
今回はPythonで現在の日付だけを取得する方法として、datetime.date.today()
の使い方を詳しく解説しました。
date.today()
で「年月日」だけが取得できる- 文字列変換やファイル名など実務でも活用できる
datetime.datetime.now()
との違いを理解して使い分けることが重要
この関数はログ処理・ファイル操作・データ整形など、あらゆる場面で使える便利なツールです。
学習の際は、「まず公式モジュールの機能を一度自分で動かしてみる」という姿勢が理解を深めるコツです。
ぜひこの記事を参考に、自分のコードにもdate.today()
を取り入れてみてください。