python - 以特定格式获取时间

时间:2014-03-13 14:16:34

标签: python time

我需要花时间格式:小时:分钟:秒。但如果我使用:

 time.strftime('%H:%M:%S', time.gmtime(my_time))) #my_time is float

小时有24小时制(00至23)。当我有例如25小时和2分钟时,它写入1:02:00,但我需要25:02:00。我该如何解决?谢谢。

1 个答案:

答案 0 :(得分:4)

请勿使用time.strftime()格式化已用时间。您只能使用该格式设置时间值;这两种类型的价值是相关的但不是相同的。

您需要使用自定义格式。

如果my_time是以秒为单位的经过时间,您可以使用以下函数将其格式化为小时:分钟:秒格式:

def format_elapsed_time(seconds):
    seconds = int(seconds + 0.5)  # round to nearest second
    minutes, seconds = divmod(seconds, 60)
    hours, minutes = divmod(minutes, 60)
    return '{:02d}:{:02d}:{:02d}'.format(hours, minutes, seconds)

演示:

>>> def format_elapsed_time(seconds):
...     seconds = int(seconds + 0.5)  # round to nearest second
...     minutes, seconds = divmod(seconds, 60)
...     hours, minutes = divmod(minutes, 60)
...     return '{:02d}:{:02d}:{:02d}'.format(hours, minutes, seconds)
... 
>>> format_elapsed_time(90381.33)
'25:06:21'