猿问

在python中将数字转换为小时

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

numbers = [7,12,16,18]

预期操作:

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

有没有办法实现这一目标?


qq_笑_17
浏览 446回答 3
3回答

慕妹3242003

使用标准库:import datetimenumbers = [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']

慕村225694

尝试这个:import datetimenumbers = [7,12,16,18]hours=[]for i in numbers:&nbsp; &nbsp; if i <= 12:&nbsp; &nbsp; &nbsp; &nbsp; time = str(datetime.timedelta(hours=i)) +" AM"&nbsp; &nbsp; else:&nbsp; &nbsp; &nbsp; &nbsp; time = str(datetime.timedelta(hours=i-12)) + " PM"&nbsp; &nbsp; hours.append(time)print(hours)输出:['7:00:00 AM', '12:00:00 PM', '4:00:00 PM', '6:00:00 PM']

翻过高山走不出你

不是最干净的方式,但会完成这项工作:numbers = [7,12,16,18]hours = []for n in numbers:&nbsp; &nbsp; if n < 12:&nbsp; &nbsp; &nbsp; &nbsp; if len(str(n)) == 1:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; temp = "0"+str(n)+":00 AM"&nbsp; &nbsp; &nbsp; &nbsp; else:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; temp = str(n)+":00 AM"&nbsp; &nbsp; else:&nbsp; &nbsp; &nbsp; &nbsp; x = n - 12&nbsp; &nbsp; &nbsp; &nbsp; if x == 0:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; temp = "12:00 PM"&nbsp; &nbsp; &nbsp; &nbsp; if len(str(x)) == 1:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; temp = "0"+str(x)+":00 PM"&nbsp; &nbsp; &nbsp; &nbsp; else:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; temp = str(x)+":00 PM"&nbsp; &nbsp; hours.append(temp)输出:['07:00 AM', '12:00 PM', '04:00 PM', '06:00 PM']
随时随地看视频慕课网APP

相关分类

Python
我要回答