如何在Python中(时间间隔)格式化持续时间?

2024-04-28 03:34:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Python的新手。 我想显示时间长度。 我所做的是:

startTime = datetime.datetime.now().replace(microsecond=0)
... <some more codes> ...
endTime = datetime.datetime.now().replace(microsecond=0)
durationTime = endTime - startTime
print("The duration is " + str(durationTime))

输出为=>;持续时间为0:01:28 我能知道如何从结果中删除小时吗? 我想显示=>;持续时间是01:28

提前谢谢!


Tags: gtdatetimemore时间somenowreplacecodes
2条回答

您可以通过将durationTime(即datetime.timedelta对象)转换为datetime.time对象,然后使用strftime来完成此操作。

print datetime.time(0, 0, durationTime.seconds).strftime("%M:%S")

另一种方法是操作字符串:

print ':'.join(str(durationTime).split(':')[1:])

您可以按如下方式分割时间增量:

>>> hours, remainder = divmod(durationTime.total_seconds(), 3600)
>>> minutes, seconds = divmod(remainder, 60)
>>> print '%s:%s' % (minutes, seconds)

这将使用python的内置divmod将timedelta中的秒数转换为小时,然后使用剩余的时间计算分钟和秒数。然后可以显式地打印所需的时间单位。

相关问题 更多 >