为了账号安全,请及时绑定邮箱和手机立即绑定

在python中将数字转换为小时

在python中将数字转换为小时

qq_笑_17 2021-09-14 10:26:35
我正在尝试将数字转换为小时格式,如下所示,numbers = [7,12,16,18]预期操作:hours = ["07:00 AM","12:00 PM","04:00 PM","06:00 PM"]有没有办法实现这一目标?
查看完整描述

3 回答

?
慕妹3242003

TA贡献1824条经验 获得超6个赞

使用标准库:


import datetime


numbers = [7, 12, 16, 18]

hours = [datetime.time(num).strftime("%I:00 %p") for num in numbers]

# ['07:00 AM', '12:00 PM', '04:00 PM', '06:00 PM']


查看完整回答
反对 回复 2021-09-14
?
慕村225694

TA贡献1880条经验 获得超4个赞

尝试这个:


import datetime

numbers = [7,12,16,18]

hours=[]

for i in numbers:


    if i <= 12:

        time = str(datetime.timedelta(hours=i)) +" AM"

    else:

        time = str(datetime.timedelta(hours=i-12)) + " PM"

    hours.append(time)


print(hours)

输出:


['7:00:00 AM', '12:00:00 PM', '4:00:00 PM', '6:00:00 PM']


查看完整回答
反对 回复 2021-09-14
?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

不是最干净的方式,但会完成这项工作:


numbers = [7,12,16,18]

hours = []

for n in numbers:

    if n < 12:

        if len(str(n)) == 1:

            temp = "0"+str(n)+":00 AM"

        else:

            temp = str(n)+":00 AM"

    else:

        x = n - 12

        if x == 0:

            temp = "12:00 PM"

        if len(str(x)) == 1:

            temp = "0"+str(x)+":00 PM"

        else:

            temp = str(x)+":00 PM"


    hours.append(temp)

输出:


['07:00 AM', '12:00 PM', '04:00 PM', '06:00 PM']


查看完整回答
反对 回复 2021-09-14
  • 3 回答
  • 0 关注
  • 445 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号