将浮动时间转换为 python 中的浮动时间
Convert float to float time in python
如何在 python 代码中将 10.5 转换为 10:30(10 小时 30 分钟)。
现在 time = 10.5 我需要结果 time = 10:30
有什么简单的解决办法吗?
谢谢大家的帮助
试试这个:
时间 = 10.5
print '{0:02.0f}:{1:02.0f}'.format(*divmod(float(time) * 60, 60))
10:30
将数字拆分为整数和小数部分,然后将小数部分乘以 60 并将它们放回一起:
t = 10.5
hour, minute = divmod(t, 1)
minute *= 60
result = '{}:{}'.format(int(hour), int(minute))
# result: 10:30
另请参阅 divmod
function and this question 的文档,了解将浮点数拆分为两部分的其他方法。
您可以将原始浮点值作为 hours
传递给 datetime.timedelta()
,然后以我认为最舒适的方式对其进行操作:
from datetime import datetime, timedelta
td = timedelta(hours=10.5)
dt = datetime.min + td
print("{:%H:%M}".format(dt))
print(td.total_seconds())
如何在 python 代码中将 10.5 转换为 10:30(10 小时 30 分钟)。
现在 time = 10.5 我需要结果 time = 10:30
有什么简单的解决办法吗?
谢谢大家的帮助
试试这个:
时间 = 10.5
print '{0:02.0f}:{1:02.0f}'.format(*divmod(float(time) * 60, 60))
10:30
将数字拆分为整数和小数部分,然后将小数部分乘以 60 并将它们放回一起:
t = 10.5
hour, minute = divmod(t, 1)
minute *= 60
result = '{}:{}'.format(int(hour), int(minute))
# result: 10:30
另请参阅 divmod
function and this question 的文档,了解将浮点数拆分为两部分的其他方法。
您可以将原始浮点值作为 hours
传递给 datetime.timedelta()
,然后以我认为最舒适的方式对其进行操作:
from datetime import datetime, timedelta
td = timedelta(hours=10.5)
dt = datetime.min + td
print("{:%H:%M}".format(dt))
print(td.total_seconds())