[Python]Datetime(ミリ秒単位の文字列を作る,ISO形式,tz)

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、ミリ秒単位の文字列を作る方法を紹介しました。これらの機能を使うことで、日時を柔軟に扱うことができます。