ISO 8601 の datetime 文字列を Python の datetime オブジェクトに変換するにはどうすればよいですか? [重複] 質問する

ISO 8601 の datetime 文字列を Python の datetime オブジェクトに変換するにはどうすればよいですか? [重複] 質問する

私は「2009-05-28T16:15:00」のような形式の datetime 文字列を取得しています (これは ISO 8601 だと思います)。 1 つのハック的なオプションは、time.strptime次のようにタプルの最初の 6 つの要素を使用して文字列を解析し、それを datetime コンストラクターに渡すことです。

datetime.datetime(*time.strptime("2007-03-04T21:08:12", "%Y-%m-%dT%H:%M:%S")[:6])

これを「よりクリーンな」方法で実行する方法を見つけることができませんでした。何かありますか?

ベストアンサー1

私は日付ユーティリティタイムゾーン処理と、一般的に堅実な日付解析のためのライブラリ。ISO 8601次のような文字列を取得した場合、2010-05-08T23:41:54.000Z特にタイムゾーンが含まれているかどうかが事前にわからない場合は、strptime で解析すると楽しい時間を過ごせます。pyiso8601使用中に遭遇したいくつかの問題 (トラッカーを確認してください) があり、数年間更新されていません。対照的に、dateutil はアクティブで、私の場合はうまく機能しました。

from dateutil import parser
yourdate = parser.parse(datestring)

おすすめ記事