datetimestring = 'Fri, 08 Jun 2012 22:40:26 GMT'
Pythonを使用してこの文字列をタイムスタンプに変換したいと思います。
私は試した
timestamp = time.mktime(time.strptime(datetimestring, '%a, %d %B %Y %H:%M:%S GMT'))
しかし、正規表現エラーを報告します。
完全な月の名前に対応するを使用して%B
いますが、省略名しかありません。%b
代わりに使用する必要があります:
>>> import time
>>> datetimestring = 'Fri, 08 Jun 2012 22:40:26 GMT'
>>> timestamp = time.mktime(time.strptime(datetimestring, '%a, %d %B %Y %H:%M:%S GMT'))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_strptime.py", line 454, in _strptime_time
return _strptime(data_string, format)[0]
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_strptime.py", line 325, in _strptime
(data_string, format))
ValueError: time data 'Fri, 08 Jun 2012 22:40:26 GMT' does not match format '%a, %d %B %Y %H:%M:%S GMT'
>>> timestamp = time.mktime(time.strptime(datetimestring, '%a, %d %b %Y %H:%M:%S GMT'))
>>> timestamp
1339209626.0
インポート時間importdateutil.parseras dateparser
datetimestring = 'Fri, 08 Jun 2012 22:40:26 GMT'
dt = dateparser.parse(datetimestring)
timestamp = int(time.mktime(dt.timetuple()))
この目的でdateparserを使用できます。
import dateparser
>>> dateparser.parse('Fri, 08 Jun 2012 22:40:26 GMT')
datetime.datetime(2012, 6, 8, 22, 40, 26)