代码之家  ›  专栏  ›  技术社区  ›  user3162878

如何将浮点转换为小时-分钟-秒?

  •  0
  • user3162878  · 技术社区  · 6 年前

    我在float中有值,我试图将它们转换为hours:min:seconds,但我失败了。我跟着那篇文章:

    Converting a float to hh:mm format

    例如,float中的i ve值是:

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

    给我输出

    00:36 
    

    但实际上应该是00:00:36

    3 回复  |  直到 6 年前
        1
  •  1
  •   ANISH TIWARI    6 年前

    divmod函数只接受两个参数,因此可以得到这两个参数之一 Divmod()

    所以你可以尝试这样做:

    time = 0.6
    mon, sec = divmod(time, 60)
    hr, mon = divmod(mon, 60)
    print "%d:%02d:%02d" % (hr, mon, sec)
    
        2
  •  1
  •   zwer    6 年前

    您没有从任何地方获得时间,因此您首先需要提取时间,即:

    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
    
        3
  •  0
  •   weakit    6 年前

    您可以使用日期时间模块:

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