Pythonのdatetimeモジュールは、日時を扱うための標準ライブラリです。本記事では、datetimeモジュールを使ってISO形式やtzを含む文字列、さらにはミリ秒単位の文字列を作る方法を紹介します。
Pythonのdatetimeモジュールとは
datetimeモジュールは、日時を扱うためのモジュールです。date, time, datetime, timedeltaなどのクラスを提供しています。今回はdatetimeクラスを使用します。
ISO形式とは
ISO形式とは、標準的な書式で日付を表す書式もあります。例えば、2022年1月1日12時34分56秒を表すときには、次のようになります。
2022-01-01T12:34:56
この書式は、世界中で広く使われています。
tz(タイムゾーン)の扱い方
タイムゾーンとは、日時の表現において、地球上のどの地域の時刻を使うかを決めるものです。Pythonでは、pytzというライブラリを使ってタイムゾーンを扱います。pytzは、世界中のタイムゾーンを定義しており、タイムゾーンを指定することで、任意の地域の時刻を表すことができます。
DatetimeからISO形式の文字列を作る方法
datetimeクラスのstrftimeメソッドを使うことで、ISO形式の文字列を作ることができます。
import datetime
now = datetime.datetime.now()
iso_string = now.strftime('%Y-%m-%dT%H:%M:%S')
print(iso_string)
実行結果:
2022-01-01T12:34:56
Datetimeからtzを含む文字列を作る方法
tzを含む文字列を作るには、pytzを使ってタイムゾーンを指定します。
import datetime
import pytz
now = datetime.datetime.now(tz=pytz.timezone('Asia/Tokyo'))
tz_string = now.strftime('%Y-%m-%dT%H:%M:%S%z')
print(tz_string)
実行結果:
2022-01-01T12:34:56+0900
タイムゾーンを指定する際には、pytz.timezoneメソッドに地域名を渡すことで、任意のタイムゾーンを指定することができます。
Datetimeからミリ秒単位の文字列を作る方法
ミリ秒単位の文字列を作るには、strftimeメソッドに%fを指定します。
import datetime
now = datetime.datetime.now()
ms_string = now.strftime('%Y-%m-%dT%H:%M:%S.%f')
print(ms_string)
実行結果:
2022-01-01T12:34:56.123456
まとめ
Pythonのdatetimeモジュールを使って、ISO形式やtz、ミリ秒単位の文字列を作る方法を紹介しました。これらの機能を使うことで、日時を柔軟に扱うことができます。
![[Python]BeautifulSoupでClassとDivからhrefを抽出 !](https://machine-learning-skill-up.com/knowledge/wp-content/uploads/2023/12/1-1313.jpg)


![[Python]CSVファイルを作成時の文字化け対策、文字コードの指定](https://machine-learning-skill-up.com/knowledge/wp-content/uploads/2023/11/1-298.jpg)
![[Python]JSON出力配列の扱いと順番保持、データ追記、動的作成](https://machine-learning-skill-up.com/knowledge/wp-content/uploads/2023/11/1-168.jpg)
