python生成12点的时钟_Python上24小时时间转换为12小时时钟(ProblemSetQuestion)

您可以使用datetime模块,但随后还必须处理日期(您可以在其中插入所需的日期)。可能更容易解析它。

更新:正如@JonClements在对原始问题的评论中指出的那样,只需一行代码即可完成:from datetime import datetime

def convertTime(s):

print datetime.strptime(s, '%H%M').strftime('%I:%M%p').lower()

可以按以下方式拆分小时和分钟部分中的输入字符串:hours = input[0:2]

minutes = input[2:4]

然后分析这些值以获取整数:hours = int(hours)

minutes = int(minutes)

或者,用一种更像Python的方式:hours, minutes = int(input[0:2]), int(input[2:4])

然后你必须决定时间是在早上(hours在0到11之间)还是在下午(hours在12到23之间)。还要记住处理hours==0的特殊情况:if hours > 12:

afternoon = True

hours -= 12

else:

afternoon = False

if hours == 0:

# Special case

hours = 12

现在你得到了你需要的一切,剩下的就是格式化并打印结果:print '{hours}:{minutes:02d}{postfix}'.format(

hours=hours,

minutes=minutes,

postfix='pm' if afternoon else 'am'

)

把它包装成一个函数,走一些捷径,就会得到以下结果:def convertTime(input):

h, m = int(input[0:2]), int(input[2:4])

postfix = 'am'

if h > 12:

postfix = 'pm'

h -= 12

print '{}:{:02d}{}'.format(h or 12, m, postfix)

convertTime('0000')

convertTime('1337')

convertTime('0429')

convertTime('2359')

convertTime('1111')

结果:12:00am

1:37pm

4:29am

11:59pm

11:11am

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值