はじめに
Pythonのdatetimeモジュールは日付と時刻を扱うための強力なツールですが、場合によっては日付だけを扱いたいことがあります。この記事では、datetimeを使って日付だけを操作する方法を詳しく解説します。
datetimeモジュールの基本
datetimeモジュールには日付と時刻の両方を扱うdatetime
クラスと、日付のみを扱うdate
クラスがあります。
from datetime import datetime, date
# 現在の日付と時刻
now = datetime.now()
print(now) # 出力例: 2023-03-16 12:34:56.789012
# 現在の日付だけ
today = date.today()
print(today) # 出力例: 2023-03-16
datetimeオブジェクトから日付だけを取得
datetimeオブジェクトから日付部分だけを取り出すには、date()
メソッドを使用します。
# datetimeオブジェクトから日付だけを取得
just_date = now.date()
print(just_date) # 出力例: 2023-03-16
日付のフォーマット
日付を特定の形式で出力するには、strftime
メソッドを使用します。
# 日付のフォーマット
formatted_date = today.strftime("%Y年%m月%d日")
print(formatted_date) # 出力例: 2023年03月16日
応用例
日付のみを扱うことは、ログの日付処理、報告書の日付管理、イベントのスケジューリングなど、多くの場面で有用です。
ログファイルの日付処理
ログファイルに日付を記録する際、日付のみを使用する例です。
log_date = datetime.now().date()
log_entry = f"ログ日付: {log_date}"
print(log_entry) # 出力例: ログ日付: 2023-03-16
よくある質問
日付の比較はどのように行いますか?
Pythonの日付オブジェクトは、比較演算子を使用して直接比較することができます。
日付に日数を加算または減算するには?
timedelta
オブジェクトを使用して、日付に日数を加算または減算できます。
特定の日付を生成するには?
date
クラスのコンストラクタを使用して、任意の日付を生成できます。