2017-02-16 4 views
1

文字列をdatetimeに変換してdbに保存しようとしています。文字列はタイムゾーンを指定しますが、strptime%zオプションを受け入れません。python datetime.strptimeを作成するにはどのようにタイムゾーンを考慮に入れますか?

datetime.strptime("Tue Feb 14 2017 15:30:01 GMT-0500", "%a %b %d %Y %H:%M:%S GMT%z") 

ValueError: 'z' is a bad directive in format '%a %b %d %Y %H:%M:%S GMT%z'

+0

答えはここになります。http://stackoverflow.com/questions/26165659/python-timezone-z-directive- for-datetime-strptime-not-available – Marviel

答えて

1

%zはPython 3.2以降でサポートされています。

>>> from datetime import datetime 
>>> datetime.strptime("Tue Feb 14 2017 15:30:01 GMT-0500", "%a %b %d %Y %H:%M:%S GMT%z") 
datetime.datetime(2017, 2, 14, 15, 30, 1, tzinfo=datetime.timezone(datetime.timedelta(-1, 68400))) 

またはdateutil.parserを使用し、

>>> from dateutil import parser 
>>> parser.parse('Tue Feb 14 2017 15:30:01 GMT-0500') 
datetime.datetime(2017, 2, 14, 15, 30, 1, tzinfo=tzoffset(None, 18000)) 

関連する問題