Tri*_*ych 133 python datetime strptime
具体来说,我的代码简化为:
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)
Run Code Online (Sandbox Code Playgroud)
是什么赋予了?Python在解析日期时是否忽略了句点说明符,还是我做了一些愚蠢的事情?
Ned*_*der 183
Python time.strftime文档说:
当与strptime()函数一起使用时,
%p如果%I指令用于解析小时,则该指令仅影响输出小时字段.
果然,改变你的%H方式%I使它成功.
jam*_*san 50
format = '%Y-%m-%d %H:%M %p'
Run Code Online (Sandbox Code Playgroud)
格式使用%H而不是%I.由于%H是"24小时"格式,它可能只是丢弃%p信息.如果你改变了它的工作原理就好%H到%I.
Sat*_*and 24
尝试替换%I为%H.
from datetime import datetime
print(datetime.today().strftime("%H:%M %p")) # 15:31 AM
Run Code Online (Sandbox Code Playgroud)
成为
from datetime import datetime
print(datetime.today().strftime("%I:%M %p")) # 03:31 AM
Run Code Online (Sandbox Code Playgroud)