我需要花时间格式:小时:分钟:秒。但如果我使用:python - 以特定格式获取时间
time.strftime('%H:%M:%S', time.gmtime(my_time))) #my_time is float
小时有一个24小时制(00到23)。当我有例如25小时和2分钟时,它会写1:02:00,但我需要25:02:00。我该如何解决它?谢谢。
我需要花时间格式:小时:分钟:秒。但如果我使用:python - 以特定格式获取时间
time.strftime('%H:%M:%S', time.gmtime(my_time))) #my_time is float
小时有一个24小时制(00到23)。当我有例如25小时和2分钟时,它会写1:02:00,但我需要25:02:00。我该如何解决它?谢谢。
请勿使用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'
使用'seconds = int(秒+ .5)'来避免'ValueError:未知格式代码'd'为'float''类型的对象 – jfs
啊我错过了评论,说明这个值是一个浮点数。 –
_25:02 :00_是**不是**时间。 – Carsten
如何在使用'time.gmtime'时获得25:02:00? – zhangxaochen
OP正在讨论*逝去的时间*,而不是这里的时间。 –