我一直试图用time.strptime(string1,'%H:%M')
,没有成功转换12小时时间字符串到datetime或时间
我怎样可以得到以下几点:
Input Output
3:14AM -> 03:14
9:33PM -> 21:33
12:21AM -> 00:21
12:15PM -> 12:15
我一直试图用time.strptime(string1,'%H:%M')
,没有成功转换12小时时间字符串到datetime或时间
我怎样可以得到以下几点:
Input Output
3:14AM -> 03:14
9:33PM -> 21:33
12:21AM -> 00:21
12:15PM -> 12:15
使用%I
为12小时倍和%p
为am
或pm
如下:
from datetime import datetime
for t in ["3:14AM", "9:33PM", "12:21AM", "12:15PM"]:
print datetime.strptime(t, '%I:%M%p').strftime("%H:%M")
给你以下的输出:在strftime() and strptime() Behavior
03:14
21:33
00:21
12:15
使用的文档格式的
你错过%p
(语言环境下的任上午或下午)。
time.strptime(string1,'%H:%M%p')
的问题,您需要使用%I
的12小时时间和增加对上午或下午指令%p
得到一个时间对象第一strptime
; altogther '%I:%M%p'
。然后使用strftime
将时间对象格式化成一个字符串:
试验:
>>> tm = time.strptime('12:33AM', '%I:%M%p')
>>> time.strftime('%H:%M', tm)
'00:33'
>>> tm = time.strptime('9:33PM', '%H:%M%p')
>>> time.strftime('%H:%M', tm)
'09:33'