在python中将float转换为float时间

时间:2018-06-04 06:59:59

标签: python odoo

如何在python代码中将10.5转换为10:30(10小时30分钟)。

现在时间= 10.5 我需要结果时间= 10:30

任何简单的解决方案?

Tnx全部求助

3 个答案:

答案 0 :(得分:5)

试试这个:

时间= 10.5

ScriptElement script = Document.get().createScriptElement();
script.setSrc(fileName);        
getBody().appendChild(script);
  
    
      

10:30

    
  

答案 1 :(得分:2)

将数字拆分为整数和小数部分,然后将小数部分乘以60并将它们重新组合在一起:

t = 10.5

hour, minute = divmod(t, 1)
minute *= 60
result = '{}:{}'.format(int(hour), int(minute))
# result: 10:30

另请参阅divmod函数的文档和this question以了解将float分成两部分的其他方法。

答案 2 :(得分:0)

您可以将原始浮动值作为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())