如何将python中的a / p(am / pm)时间值转换为24hr格式

时间:2018-09-15 17:28:31

标签: python-3.x time

我正在读取一个csv文件,该文件的时间字段为3:50a4:25p。为此,我需要将此时间值转换为H:M的24小时制:

datetime.strptime(str(time_value), '%I:%M').strftime('%H:%M')

其中time_value3:50a4:25p。现在的问题是上面的代码行不起作用,因为我没有隐含AM/PM%p的{​​{1}}标记,那是因为在%I:%M文件中只需为csv获得a,为AM获得p

我该如何处理这种情况。我需要将time_value转换为24小时时钟格式。谢谢

1 个答案:

答案 0 :(得分:2)

在您输入到'm'的字符串中添加strptime,并将%p放入第二个参数,

>>> from datetime import datetime
>>> time_value = '3:50a'
>>> datetime.strptime(str(time_value)+'m', '%I:%M%p').strftime('%H:%M')
'03:50'
>>> time_value = '4:25p'
>>> datetime.strptime(str(time_value)+'m', '%I:%M%p').strftime('%H:%M')
'16:25'