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