将12小时时间字符串转换为datetime或tim

2024-10-19 14:40:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在尝试使用time.strptime(string1,'%H:%M'),但没有成功

如何获得以下信息:

Input     Output
3:14AM  -> 03:14
9:33PM  -> 21:33
12:21AM -> 00:21
12:15PM -> 12:15

Tags: 信息inputoutputtimestring1strptime
3条回答

这个问题要求您首先strptime使用%I作为12小时的时间,并为AM或PM添加指令%p以获得时间对象;另外'%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'

文档引用:https://docs.python.org/2/library/time.html

%I表示12小时,用%p表示ampm,如下所示:

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")

提供以下输出:

03:14
21:33
00:21
12:15 

使用的格式记录在strftime() and strptime() Behavior

您缺少%p(Locale相当于AM或PM)。你知道吗

time.strptime(string1,'%H:%M%p')

相关问题 更多 >