如何使用datetime.strptime解释期间(AM / PM)?
具体来说,我有简单的代码:
from datetime import datetime date_string = '2009-11-29 03:17 PM' format = '%Y-%m-%d %H:%M %p' my_date = datetime.strptime(date_string, format) # This prints '2009-11-29 03:17 AM' print my_date.strftime(format)
是什么赋予了? 在parsingdate时,Python是否忽略了句号说明符,还是我在做一些愚蠢的事情?
Python的time.strftime
文档说:
当与strptime()函数一起使用时,如果使用
%I
指令来parsing小时,则%p
指令仅影响输出小时字段。
果然,把你的%H
%I
是可以的。
format = '%Y-%m-%d %H:%M %p'
格式是使用%H
而不是%I
。 由于%H
是“24小时”格式,因此可能只是丢弃%p
信息。 如果将%H
更改为%I
,则工作得很好。
您使用了%H
(24小时格式)而不是%I
(12小时格式)。
尝试用%I(12小时制的小时)replace%H(24小时制的小时)?