我是 Python 的初级程序员,我不知道如何处理以下问题。那里有 很多 类似的问题,但是与 Python 代码无关。
我试图比较字符串,但我不确定如何进行比较。我很确定我需要取前两个数字(小时),如果它大于 12,则除以 12……但这会带来问题。
问题:
时间转换(24 小时到 12 小时)
编写一个函数,允许用户将 24 小时制时间格式转换为 12 小时制格式(附有“am”、“pm”)。示例:从“1400”到“2:00pm”。作为参数传入的所有字符串的长度均为 4,并且仅包含数字。
示例(测试/调用):
>>> convertTime('0000')
'12:00am'
>>> convertTime('1337')
'1:37pm'
>>> convertTime('0429')
'4:29am'
>>> convertTime('2359')
'11:59pm'
>>> convertTime('1111')
'11:11am'
任何输入或不同的方法都会很棒!
原文由 Winkleson 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用 datetime 模块,但是您还必须处理日期(您可以在任何地方插入)。简单地解析它可能更容易。
更新: 正如@JonClements 在对原始问题的评论中指出的那样,它可以用一个班轮来完成:
您可以按以下方式在小时和分钟部分拆分输入字符串:
然后解析这些值以获得一个整数:
或者,以更 pythonic 的方式进行:
然后你必须决定时间是在早上(
hours
0 到 11 点之间)还是下午(hours
12 到 23 点之间)。还记得处理hours==0
的特殊情况:现在您已获得所需的一切,剩下的就是格式化和打印结果:
将其包装在一个函数中,采取一些快捷方式,您将得到以下结果:
结果是: