繁体   English   中英

怎么把float转换成小时数分钟?

[英]How to convert float into Hours Minutes Seconds?

我的值在float中,并且尝试将它们转换为Hours:Min:Seconds,但是我失败了。 我关注了以下帖子:

将浮点数转换为hh:mm格式

例如,我有一个浮点格式的值:

time=0.6 

result = '{0:02.0f}:{1:02.0f}'.format(*divmod(time * 60, 60))

它给了我输出:

00:36 

但实际上应该像“ 00:00:36”。 我怎么得到这个?

Divmod函数仅接受两个参数,因此您将获得两个Divmod()之一

因此,您可以尝试执行以下操作:

time = 0.6
mon, sec = divmod(time, 60)
hr, mon = divmod(mon, 60)
print "%d:%02d:%02d" % (hr, mon, sec)

您无法从任何地方获取小时数,因此首先需要提取小时数,即:

float_time = 0.6  # in minutes
hours, seconds = divmod(float_time * 60, 3600)  # split to hours and seconds
minutes, seconds = divmod(seconds, 60)  # split the seconds to minutes and seconds

然后,您可以处理格式,即:

result = "{:02.0f}:{:02.0f}:{:02.0f}".format(hours, minutes, seconds)
# 00:00:36

您可以使用datetime模块:

import datetime
time = 0.6
result = str(datetime.timedelta(minutes=time))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM