2017-06-14 48 views
0

我的Python代码在日期时间格式中显示错误。这种类型的日期应该是什么格式:'09-Jul-11 12:00:00 AM'? 日期被视为文本文件中的字符串。 这是我用于日期和时间的代码。Python中的日期时间格式错误

date=datetime.datetime.strptime(date, "%d-%B-%y %H:%M:%S %p") 

这是我得到的错误。

ValueError: time data '09-Jul-11 12:00:00 AM' does not match format '%d-%B-%y %H:%M:%S %p' 

P.S:我使用Python 3

+0

在来这里之前,您需要咨询文档。 https://docs.python.org/2/library/datetime.html#strftime-and-strptime-behavior –

+0

...并阅读[help/on-topic],[问]和[mcve]。 – boardrider

回答

1

这对月和小时的格式不正确。使用%b而不是%B(月份作为区域设置的缩写名称[1])和%I而不是%H(12小时格式)。

date=datetime.datetime.strptime(date, "%d-%b-%y %I:%M:%S %p") 

[1]:感谢瑞奇汉的评论

+1

%b \t月份为区域设置的缩写名称。 \t 一月,二月,...,十二月(en_US); –

0

Online Demo %b应使用简写的月份name.You已经使用%B它用于完整的月份名称。

%H用于小时,使用24小时制(00到23)。 %I用于小时,用12小时制(01到12)

import datetime 
date = '09-Jul-11 12:00:00 AM' 
date=datetime.datetime.strptime(date, "%d-%b-%y %I:%M:%S %p") 
print(date) 
+0

'%H'对于PM小时也不正确。 –

+0

@Błotosmętek谢谢 –

0

正确格式字符串是:"%d-%b-%y %I:%M:%S %p"%b为缩写的月份,%I 12小时时钟)。