【问题标题】:convert numbers to hours in python在python中将数字转换为小时
【发布时间】:2018-12-11 05:31:18
【问题描述】:

我正在尝试将数字转换为小时格式,如下所示,

numbers = [7,12,16,18]

预期的操作:

hours = ["07:00 AM","12:00 PM","04:00 PM","06:00 PM"]

有没有办法做到这一点?

【问题讨论】:

标签: python python-3.x datetime


【解决方案1】:

使用标准库:

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']

【讨论】:

  • 太棒了!节省了我的时间
【解决方案2】:

试试这个:

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']

【讨论】:

    【解决方案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']
    

    【讨论】:

    • 花点时间浏览一下 datetime 模块。知道真的很有用。
    【解决方案4】:

    如果我可以使用函数来解决它:

    def function(lst):
        returned_list=[]
        for item in lst:
            end="AM"
            if item >=12:
                end="PM"
            if item >12:
                item-=12
            if len(str(item))<2:
                item='0'+str(item)
            returned_list.append("{}:00 {}".format(item,end))
        return returned_list
    

    程序限制是只能做0到23

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-05
      • 1970-01-01
      • 2013-11-28
      • 2023-03-16
      相关资源
      最近更新 更多