将长字符串解析为日期时间

时间:2016-04-22 11:08:52

标签: python date datetime python-dateutil

使用时

import datetime
s = 'Sat Apr 23 2016 00:00:00 GMT+0100'
print datetime.datetime.strptime(s, "%a %m %d %y %H:%M:%S GMT+0100")

我明白了:

  

ValueError:时间数据'2016年4月23日星期六00:00:00 GMT + 0100'格式'%a%m%d%y%H:%M:%S GMT + 0100'

如何解析这样的字符串?

注意:使用dateutil.parser.parse不起作用:它产生了一些奇怪的datetime对象,我可以减去另一个日期时间,即{{1} }没有用。

2 个答案:

答案 0 :(得分:3)

根据this reference, 格式应为"%a %b %d %Y %H:%M:%S GMT+0100"

答案 1 :(得分:2)

请改用此format string"%a %b %d %Y %H:%M:%S GMT+0100"

我做了两处修改:

  • %m(月份作为零填充十进制数)替换为%b(月份作为区域设置的缩写名称)
  • %y(没有世纪的年份作为零填充十进制数)替换为%Y(年份为世纪作为十进制数)