Pythonのdatetimeモジュールの概要とその重要性
Pythonには、日付や時刻を扱うためのdatetimeモジュールがあります。このモジュールを使うことで、日付や時刻を表現したり、計算したりすることができます。
datetimeモジュールでの時間表現の基本形式
datetimeモジュールでは、日付と時刻を表すために、date、time、datetimeの3つのクラスが用意されています。
import datetime # 日付を表すdateクラス date = datetime.date(2021, 7, 1) print(date) # 2021-07-01 # 時刻を表すtimeクラス time = datetime.time(10, 30, 0) print(time) # 10:30:00 # 日付と時刻を表すdatetimeクラス date_time = datetime.datetime(2021, 7, 1, 10, 30, 0) print(date_time) # 2021-07-01 10:30:00
datetimeを用いたミリ秒の表現とformat変換
datetimeモジュールでは、ミリ秒を表現するために、microsecond属性を使います。
import datetime
# datetimeにミリ秒を設定する
datetime_with_ms = datetime.datetime(2021, 7, 1, 10, 30, 0, 500000)
print(datetime_with_ms) # 2021-07-01 10:30:00.500000
# datetimeからミリ秒を取得する
ms = datetime_with_ms.microsecond // 1000
print(ms) # 500
# datetimeをミリ秒表記の文字列に変換する
ms_string = datetime_with_ms.strftime('%Y-%m-%d %H:%M:%S.%f')[:-3]
print(ms_string) # 2021-07-01 10:30:00.500
# ミリ秒表記の文字列からdatetimeに変換する
datetime_from_ms_string = datetime.datetime.strptime('2021-07-01 10:30:00.500', '%Y-%m-%d %H:%M:%S.%f')
print(datetime_from_ms_string) # 2021-07-01 10:30:00.500000
datetimeを用いた文字列へのformat変換
datetimeオブジェクトを文字列に変換するには、strftimeメソッドを使います。strftimeメソッドは、文字列として表現する形式を指定することができます。
import datetime
# datetimeを文字列に変換する
datetime_str = datetime.datetime(2021, 7, 1, 10, 30, 0).strftime('%Y-%m-%d %H:%M:%S')
print(datetime_str) # 2021-07-01 10:30:00
# 日本語表記の例
datetime_jp_str = datetime.datetime(2021, 7, 1, 10, 30, 0).strftime('%Y年%m月%d日 %H時%M分%S秒')
print(datetime_jp_str) # 2021年07月01日 10時30分00秒
datetimeでのタイムゾーンの設定とformat変換
datetimeオブジェクトをタイムゾーン付きで表現する場合、pytzモジュールを使うと便利です。
import datetime
import pytz
# タイムゾーンを設定する
tz = pytz.timezone('Asia/Tokyo')
# タイムゾーン付きのdatetimeを作成する
datetime_with_tz = datetime.datetime(2021, 7, 1, 10, 30, 0, tzinfo=tz)
print(datetime_with_tz) # 2021-07-01 10:30:00+09:00
# タイムゾーン付きのdatetimeをUTCに変換する
datetime_utc = datetime_with_tz.astimezone(pytz.utc)
print(datetime_utc) # 2021-07-01 01:30:00+00:00
# タイムゾーン付きのdatetimeを文字列に変換する
datetime_with_tz_str = datetime_with_tz.strftime('%Y-%m-%d %H:%M:%S %Z')
print(datetime_with_tz_str) # 2021-07-01 10:30:00 JST
日常生活や業務でのdatetimeモジュールの活用例
datetimeモジュールは、日付や時刻を扱うための基本的なツールです。日付や時刻を扱う必要があるプログラムを作成する場合には、このモジュールを使うことが多いです。具体的には、以下のような場面で使われます。
- ログファイルのタイムスタンプの取得
- データベースの日付や時刻の取り扱い
- Webアプリケーションでの日付や時刻の表示
- バッチ処理での日付や時刻の比較
まとめ
Pythonのdatetimeモジュールを使うことで、日付や時刻を表現したり、計算したりすることができます。ミリ秒の表現や文字列へのformat変換、タイムゾーンの設定とformat変換など、datetimeモジュールの基本的な使い方を紹介しました。日常生活や業務での活用例もあわせて紹介しましたので、ぜひ参考にしてください。


![[Python]1から始まる数列を増分と飛ばしで制御する range関数](https://machine-learning-skill-up.com/knowledge/wp-content/uploads/2023/12/1-1298.jpg)


