我需要花时间格式:小时:分钟:秒。但如果我使用:
time.strftime('%H:%M:%S', time.gmtime(my_time))) #my_time is float
小时有24小时制(00至23)。当我有例如25小时和2分钟时,它写入1:02:00,但我需要25:02:00。我该如何解决?谢谢。
答案 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'