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

Yin*_*Yin 1 python formatting datetime duration timedelta

我是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))
Run Code Online (Sandbox Code Playgroud)

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

提前致谢!

Zac*_*ner 7

您可以按如下方式拆分 timedelta:

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

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

  • 我认为`print(f"{分钟}:{秒:02}")`看起来会好一点。 (3认同)