Python|現在の日付だけを取得する:datetime.date.today()

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.datetimedatetime.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()を取り入れてみてください。

タイトルとURLをコピーしました