gpt4 book ai didi

python - 了解时间增量

转载 作者:IT老高 更新时间:2023-10-28 21:11:53 24 4
gpt4 key购买 nike

鉴于下面的 python 代码,请帮助我理解那里发生了什么。

start_time = time.time()
time.sleep(42)
end_time = time.time()

uptime = end_time - start_time

human_uptime = str(datetime.timedelta(seconds=int(uptime)))

所以我得到了 start timeend time 之间的区别,在第 5 行我通过强制转换来四舍五入持续时间,现在,进一步的解释是什么?

我知道 delta 的含义(平均值或差异),但为什么我必须将 seconds = uptime 传递给 timedelta 以及为什么字符串转换效果如此之好以至于我得到 HH:MM:SS ?

最佳答案

因为 timedelta 的定义如下:

class datetime.timedelta([days,] [seconds,] [microseconds,] [milliseconds,] [minutes,] [hours,] [weeks])

所有参数都是可选的,默认为 0。

您可以通过这种方式使用可选参数轻松说出“三天零四毫秒”。

>>> datetime.timedelta(days=3, milliseconds=4)
datetime.timedelta(3, 0, 4000)
>>> datetime.timedelta(3, 0, 0, 4) #no need for that.
datetime.timedelta(3, 0, 4000)

对于 str 强制转换,它返回一个很好的格式化值而不是 __repr__ 以提高可读性。来自文档:

str(t) Returns a string in the form [D day[s], ][H]H:MM:SS[.UUUUUU], where D is negative for negative t. (5)

>>> datetime.timedelta(seconds = 42).__repr__()
'datetime.timedelta(0, 42)'
>>> datetime.timedelta(seconds = 42).__str__()
'0:00:42'

结帐文件:

http://docs.python.org/library/datetime.html#timedelta-objects

关于python - 了解时间增量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6749294/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com