在python中将数字转换为小时

时间:2018-12-11 05:31:19

标签: python python-3.x datetime

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

numbers = [7,12,16,18]

期望的OP:

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

有没有办法做到这一点?

4 个答案:

答案 0 :(得分:3)

使用标准库:

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

答案 1 :(得分:1)

尝试一下:

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

答案 2 :(得分:0)

这不是最干净的方法,但可以完成工作:

$('select_tag_here').material_select();

输出:

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)

答案 3 :(得分:0)

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

function makeCreate(theClass) {
  return function() {
    return new theClass();
  }
}
module.exports = makeCreate;

程序限制是它只能在0到23之间进行操作