为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

莫回无 2021-05-12 13:14:05
我的值在float中,我试图将它们转换为Hours:Min:Seconds,但我失败了。我关注了以下帖子:例如,我有一个浮点格式的值:time=0.6  result = '{0:02.0f}:{1:02.0f}'.format(*divmod(time * 60, 60))它给了我输出:00:36但实际上应该是“ 00:00:36”。我怎么得到这个?
查看完整描述

3 回答

?
MYYA

TA贡献1868条经验 获得超4个赞

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


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


time = 0.6

mon, sec = divmod(time, 60)

hr, mon = divmod(mon, 60)

print "%d:%02d:%02d" % (hr, mon, sec)


查看完整回答
反对 回复 2021-05-25
?
慕码人8056858

TA贡献1803条经验 获得超6个赞

您可以使用datetime模块:


import datetime

time = 0.6

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


查看完整回答
反对 回复 2021-05-25
?
九州编程

TA贡献1785条经验 获得超4个赞

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


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


查看完整回答
反对 回复 2021-05-25
  • 3 回答
  • 0 关注
  • 194 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信