python中的datetime无法识别“jul”?

时间:2015-03-10 09:22:50

标签: python list date datetime

我有以下格式的日期列表: dates = [' 28 / May / 2012',' 30 / Jul / 2012',' 2 / Jul / 2012']

我可以使用:

将日期[0]转换为日期时间
xdates = []
for i in dates:
    dates_formatted = i.translate(None, '/')
    d = datetime.strptime(dates_formatted, '%d%B%Y')
    xdates.append(d)

xdates

然而,当它到达我名单上的第二个项目" 30 / Jul / 2012"它并不喜欢它。我假设它期待" 7月"而不是" jul"?

" ValueError:时间数据' 2012年7月30日'不符合格式'%d%B%Y'"

如果是这样,有什么好的方法吗?或者我是否必须用7月的每个项目替换每个项目? (或者我完全错了!)

非常感谢任何帮助/建议!

1 个答案:

答案 0 :(得分:5)

%B是月份的全名。缩写名称为%b。这有效:

d = datetime.strptime(dates_formatted, '%d%b%Y')

对这些格式的一个非常有用的参考是http://strftime.org/