見出し画像

【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

公式ドキュメントは以下となります。


いいなと思ったら応援しよう!