Python中的日期时间格式出错

时间:2017-06-14 07:47:11

标签: python python-3.x datetime date-format strptime

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

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。

3 个答案:

答案 0 :(得分:1)

这是月份和小时的错误格式。使用%b代替%B(月份作为区域设置的缩写名称[1])和%I代替%H(12小时格式)。

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

[1]:感谢Ricky Han的评论

答案 1 :(得分:0)

Online Demo %b应该用于缩写的月份名称。您使用了%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)

答案 2 :(得分:0)

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