我一直試圖用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'