Pythonのdatetime
モジュールは、日付や時刻を扱うための標準ライブラリです。このモジュールを使用することで、日付や時刻の操作、フォーマット、計算を簡単に行うことができます。
datetime
モジュールの主要なクラス
datetime
モジュールには、以下の主要なクラスがあります。
date
クラスtime
クラスdatetime
クラスtimedelta
クラスtzinfo
クラス
date
クラス
date
クラスは、年、月、日を扱います。
使用例
from datetime import date
# 今日の日付を取得
today = date.today()
print(today) # 例: 2024-07-06
# 指定した日付を作成
specific_date = date(2024, 7, 6)
print(specific_date) # 出力: 2024-07-06
# 日付の属性にアクセス
print(today.year) # 例: 2024
print(today.month) # 例: 7
print(today.day) # 例: 6
time
クラス
time
クラスは、時、分、秒、マイクロ秒を扱います。
使用例
from datetime import time
# 指定した時刻を作成
specific_time = time(14, 30, 45)
print(specific_time) # 出力: 14:30:45
# 時刻の属性にアクセス
print(specific_time.hour) # 出力: 14
print(specific_time.minute) # 出力: 30
print(specific_time.second) # 出力: 45
datetime
クラス
datetime
クラスは、日付と時刻を組み合わせて扱います。
使用例
from datetime import datetime
# 現在の日時を取得
now = datetime.now()
print(now) # 例: 2024-07-06 14:30:45.123456
# 指定した日時を作成
specific_datetime = datetime(2024, 7, 6, 14, 30, 45)
print(specific_datetime) # 出力: 2024-07-06 14:30:45
# 日時の属性にアクセス
print(now.year) # 例: 2024
print(now.month) # 例: 7
print(now.day) # 例: 6
print(now.hour) # 例: 14
print(now.minute) # 例: 30
print(now.second) # 例: 45
print(now.microsecond) # 例: 123456
timedelta
クラス
timedelta
クラスは、日付や時刻の間隔を表します。これにより、日付や時刻の加算、減算ができます。
使用例
from datetime import datetime, timedelta
# 現在の日時を取得
now = datetime.now()
# 10日後の日時を計算
future_date = now + timedelta(days=10)
print(future_date) # 現在の日時から10日後の日付
# 3時間前の日時を計算
past_time = now - timedelta(hours=3)
print(past_time) # 現在の日時から3時間前の時刻
tzinfo
クラス
tzinfo
クラスは、タイムゾーンの情報を扱います。datetime
クラスと組み合わせて使用されます。
使用例
Pythonの標準ライブラリだけではtzinfo
クラスの具体的な実装は含まれていないため、実際にタイムゾーンを扱うためにはpytz
ライブラリなどを使用するのが一般的です。
from datetime import datetime
import pytz
# タイムゾーンを指定して現在の日時を取得
tz = pytz.timezone('Asia/Tokyo')
now = datetime.now(tz)
print(now) # 現在の東京の日時
日時のフォーマットと解析
strftime
メソッドとstrptime
メソッドを使用して、日時のフォーマットと解析ができます。
使用例
from datetime import datetime
# 現在の日時を特定のフォーマットで文字列に変換
now = datetime.now()
formatted_date = now.strftime('%Y-%m-%d %H:%M:%S')
print(formatted_date) # 例: 2024-07-06 14:30:45
# 文字列を日時に変換
date_string = '2024-07-06 14:30:45'
parsed_date = datetime.strptime(date_string, '%Y-%m-%d %H:%M:%S')
print(parsed_date) # 出力: 2024-07-06 14:30:45
まとめ
Pythonのdatetime
モジュールは、日付と時刻の操作に非常に便利です。date
、time
、datetime
、timedelta
、tzinfo
クラスを使用して、さまざまな日付と時刻の操作が可能です。日付や時刻のフォーマットと解析も簡単に行えます。これらのクラスとメソッドを使いこなすことで、日付と時刻に関する多くのタスクを効率的に処理できます。