スポンサーリンク

【Python】datetimeモジュールの使い方

記事内に広告が含まれています。

Pythonのdatetimeモジュールは、日付と時間を扱うための便利な機能を豊富に提供しています。

基本的な使い方から応用までを以下にまとめます。

スポンサーリンク

datetimeの基本構造

datetimeモジュールは以下の主要なクラスで構成されています。

  • datetime
    日付と時間の両方を扱います。
  • date
    年、月、日を扱います。
  • time
    時、分、秒、マイクロ秒を扱います。
  • timedelta
    時間の差(期間)を扱います。
スポンサーリンク

基本的な使用方法

日付と時間の取得

from datetime import datetime

# 現在の日付と時刻を取得
now = datetime.now()
print(now)  # 例: 2024-11-05 14:45:30.000000

日付と時間の指定

from datetime import datetime

# 特定の日付と時間を指定して生成
specific_datetime = datetime(2024, 11, 5, 14, 45, 30)
print(specific_datetime)  # 2024-11-05 14:45:30

日付のフォーマット変換

日付を文字列に変換(フォーマット指定)

from datetime import datetime
now = datetime.now()

formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_date)  # 例: 2024-11-05 14:45:30

主なフォーマット指定子は以下のとおりです。

  • %Y:西暦年(4桁)
  • %m:月(01〜12)
  • %d:日(01〜31)
  • %H:時(24時間表記、00〜23)
  • %M:分(00〜59)
  • %S:秒(00〜59)

文字列を日付に変換

from datetime import datetime

date_str = "2024-11-05 14:45:30"
converted_date = datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S")
print(converted_date)  # 2024-11-05 14:45:30

日付と時間の計算

日付の差(timedelta)

from datetime import datetime, timedelta
now = datetime.now()

# 1週間後の日付を取得
next_week = now + timedelta(weeks=1)
print(next_week)

# 2日前の日付
two_days_ago = now - timedelta(days=2)
print(two_days_ago)

よく使われる便利な操作

日付のみや時刻のみの取得

# 日付のみ
print(now.date())  # 2024-11-05

# 時刻のみ
print(now.time())  # 14:45:30.000000

曜日を取得

# 曜日を数値(0=月曜日、6=日曜日)で取得
print(now.weekday())  # 例: 1(火曜日)

# 曜日を文字列で取得
days = ["月", "火", "水", "木", "金", "土", "日"]
print(days[now.weekday()])  # 火

年、月、日の抽出

print(now.year)  # 2024
print(now.month)  # 11
print(now.day)  # 5

まとめ

datetimeモジュールは多くの時間処理を簡単にしてくれます。

日付計算やフォーマット変換、タイムゾーン操作などを使いこなすことで、効率的に日付と時間を操作できます。

スポンサーリンク
Python
著者SNS
タイトルとURLをコピーしました