【Python】現在の日付を取得する:date.today()の使い方と文字列変換

Pythonで時刻情報(時・分・秒)を含まない「今日の日付」だけを取得したい場合、datetime モジュールの date クラスにある today() メソッドを使用します。

ここでは、現在の日付を取得し、それをファイル名やログなどで使いやすい文字列フォーマットに変換する手順を解説します。

目次

実装例:日次レポートの日付取得

「今日」の日付を取得し、それを元にレポートのタイトル文字列を作成するシナリオを実装します。

ソースコード

from datetime import date

# 1. 今日の日付を取得
# date.today() は現在の日付(ローカル時間)を持つ dateオブジェクトを返します
today = date.today()

# 2. 日付を文字列に変換
# strftime(フォーマット) を使用して、任意の形式に整形します
# %Y: 西暦4桁, %m: 月(2桁), %d: 日(2桁)
date_string = today.strftime("%Y-%m-%d")

# 別のフォーマット例(日本語表記など)
japanese_date_string = today.strftime("%Y年%m月%d日")

# 結果の出力
print(f"取得したオブジェクト: {today}")
print(f"型: {type(today)}")
print("-" * 30)
print(f"ISO形式文字列       : {date_string}")
print(f"日本語フォーマット  : {japanese_date_string}")

実行結果

取得したオブジェクト: 2025-12-16
型: <class 'datetime.date'>
------------------------------
ISO形式文字列       : 2025-12-16
日本語フォーマット  : 2025年12月16日

解説

date.today()

date.today() クラスメソッドは、システムの日付設定に基づいて、その時点の「年・月・日」を持つ date オブジェクトを生成して返します。datetime.now() と異なり、時刻データ(時分秒)は持ちません。

datetime.now() との使い分け

  • date.today(): 「生年月日」「記念日」「当日の日付」など、時刻が不要な場合に使用します。
  • datetime.now(): 「ログのタイムスタンプ」「処理時間の計測」など、細かい時刻まで必要な場合に使用します。もし datetime.now() から日付だけを取り出したい場合は .date() メソッド(例: datetime.now().date())を使います。
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次