【Python】【datetime】isoformatの注意点
'2024-06-22T10:00:00.000000' のような形式の日付を取得する際にdatetime.isoformatを使用する機会がありますが、この関数を使う際は注意点があります。
公式ドキュメントにも記載がありますが、microsecond が「0」の場合はマイクロ秒が設定されません。
'2024-06-22T00:00:00 06:00'のような形式となりますので、システムで決められたフォーマットで扱う際にはエラーとなるかと思います。
必ずマイクロ秒も設定したい場合は、isoformatの引数に「timespec='microseconds'」を設定してあげることで、microsecond が
「0」の場合でも「.000000」を設定してくれます。
例
from datetime import datetime
if __name__ == '__main__':
date = datetime(2024, 6, 22, 10, 0).isoformat(timespec='microseconds')
print(date)
実行結果
2024-06-22T10:00:00.000000
公式ドキュメントは以下となります。