如何更改时间增量格式

问题描述 投票:0回答:2

我正在尝试以HH:MM:SS格式获取脚本的时间度量。 datetime.timedelta没有strftime功能。我想摆脱微秒指示。 durationtimedelta对象。

import datetime

start = datetime.datetime.now()

for i in range(100000000):
    pass

end = datetime.datetime.now()

duration = end - start


print(duration)

输出:

0:00:03.474106

但是我需要:

0:00:04
python datetime timedelta
2个回答
0
投票
import datetime

start = datetime.datetime.now().replace(microsecond=0)



for i in range(100000000):
    pass

end = datetime.datetime.now().replace(microsecond=0)

duration = end - start


print(duration)

0
投票

您可以在未指定timedelta属性的情况下从duration创建新的milliseconds对象。

print(datetime.timedelta(duration.days, duration.seconds))

但是如果0:00:04的输入在3秒钟后没有超过半秒的标记,但仍希望按照0:00:03.474106的预期输出始终将其四舍五入,则可以将1添加到它,因为milliseconds极不可能是0

print(datetime.timedelta(duration.days, duration.seconds + 1))

或者如果您真的想考虑milliseconds可能是0的可能性,则可以将milliseconds转换为bool,以便在整数计算中将其变为10:] >

print(datetime.timedelta(duration.days, duration.seconds + bool(duration.microseconds)))
© www.soinside.com 2019 - 2024. All rights reserved.