🐍 Python

datetime.now() / date.today() で現在日時を取得する

現在の日時をまるごと取得したいときはdatetime.now()、日付だけでよいときはdate.today()を使います。実行するたびに結果が変わる関数なので、コード例では型や分解結果を中心に確認します。

datetime.now()  # 現在の日時(datetime型)
date.today()    # 現在の日付(date型、時刻を持たない)
from datetime import datetime, date

now = datetime.now()
print(type(now))
# 

today = date.today()
print(type(today))
# 
# datetimeオブジェクトはdate()とtime()で分解できる
from datetime import datetime

fixed_now = datetime(2026, 8, 10, 15, 30, 45)
print(fixed_now)
# 2026-08-10 15:30:45
print(fixed_now.date())
# 2026-08-10
print(fixed_now.time())
# 15:30:45
# yearなど個別の属性にもアクセスできる
from datetime import datetime

now = datetime.now()
print(now.year >= 2024)
# True(このコードを実行した年が2024年以降なら)
now()とtoday()の違い
datetime.now()
現在の年月日と時分秒(マイクロ秒まで)を持つdatetimeオブジェクトを返す
date.today()
時刻を持たないdateオブジェクトを返す。「今日が何月何日か」だけが必要なときに使う
💡 AIコードレビュー観点:now()はタイムゾーン情報を持たない(naive)

datetime.now()が返す値はローカルのシステム時刻に基づいた「naive」な日時で、タイムゾーン情報を持ちません。サーバーの実行環境と利用者のタイムゾーンが異なる場合、意図しない時刻表示になることがあります。国際化を意識するならdatetime.now(timezone.utc)のようにタイムゾーンを明示しましょう。詳しくはタイムゾーンのページで解説しています。

← Python datetime クイックリファレンス一覧へ戻る / timestamp/fromtimestampでUNIX時刻と変換する →