如何在Python中将字符串Datetime转换为时间戳?

如何在Python中将字符串Datetime转换为时间戳?,python,datetime,timestamp,Python,Datetime,Timestamp,我想使用python将这个字符串datetimestring='Fri,08 Jun 2012 22:40:26 GMT'转换为时间戳 我试过了 timestamp = time.mktime(time.strptime(datetimestring, '%a, %d %B %Y %H:%M:%S GMT')) 但是报告regex错误。您使用的是%B,它对应于完整的月份名称,但您只有缩写名称。您应该改用%b: >>> import time >>> dat

我想使用python将这个字符串
datetimestring='Fri,08 Jun 2012 22:40:26 GMT'
转换为时间戳

我试过了

 timestamp = time.mktime(time.strptime(datetimestring, '%a, %d %B %Y %H:%M:%S GMT'))

但是报告regex错误。

您使用的是
%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
导入时间 >>>datetimestring='2012年6月8日星期五22:40:26 GMT' >>>timestamp=time.mktime(time.strtime(datetimestring,'%a,%d%B%Y%H:%M:%S GMT')) 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_strtime.py”,第454行,在_strtime 返回时间(数据字符串,格式)[0] 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_strptime.py”,第325行,在_strptime中 (数据字符串,格式)) ValueError:时间数据“Fri,2012年6月8日22:40:26 GMT”与格式“%a,%d%B%Y%H:%M:%S GMT”不匹配 >>>timestamp=time.mktime(time.strtime(datetimestring,'%a,%d%b%Y%H:%M:%S GMT')) >>>时间戳 1339209626 导入时间 将dateutil.parser导入为dateparser

datetimestring = 'Fri, 08 Jun 2012 22:40:26 GMT'
dt = dateparser.parse(datetimestring)
timestamp = int(time.mktime(dt.timetuple()))
您可以为此目的使用


不要只告诉我们您遇到了错误,请告诉我们实际的错误。特别是因为您粘贴的代码中没有正则表达式:-)此解决方案转换不同的字符串日期格式,因此您不关心格式。此解决方案非常有效!但是,我认为需要安装这个:我认为这是更好的解决方案,因为它不需要指定格式的日期,投票了

import dateparser
>>> dateparser.parse('Fri, 08 Jun 2012 22:40:26 GMT')
datetime.datetime(2012, 6, 8, 22, 40, 26)