'0000-00-00T00:00:00 + 00:00'の形式の文字列でdatetime.strptimeを使用するにはどうすればよいですか?

ジェシー

私のアプリケーションの状況により、のdatetime.strptime代わりに使用したいと思いますdateutil.parser

ドキュメントを見た後、私はそれ%Y-%m-%dT%H:%M:%S%zがこのような日付文字列を解析するための適切な形式かもしれないと思いましたそれでも、それでもエラーが発生します。

from datetime import datetime

d = '0000-00-00T00:00:00+00:00'
datetime.strptime(d, '%Y-%m-%dT%H:%M:%S%z')
ValueError: time data '0000-00-00T00:00:00+00:00' does not 
            match format '%Y-%m-%dT%H:%M:%S%z'
ilja

タイムゾーンを処理する最も簡単な方法は、次を使用することdateutil.parserです。

from dateutil.parser import parse
date_obj = parse('1970-01-01T00:00:00+00:00')

date_obj

> datetime.datetime(1970, 1, 1, 0, 0, tzinfo=tzutc())

ただし、有効な日時値を渡す必要があります(ゼロだけでなく...)

を使用するstrptime()場合、タイムゾーンはでは0000ない形式00:00である必要があるため、これは機能します。

d = '1900-02-05T11:43:32+0000'
datetime.strptime(d, '%Y-%m-%dT%H:%M:%S%z')

> datetime.datetime(1900, 2, 5, 11, 43, 32, tzinfo=datetime.timezone.utc)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ