私のアプリケーションの状況により、の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'
タイムゾーンを処理する最も簡単な方法は、次を使用すること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]
コメントを追加