繁体   English   中英

带秒的 Python timedelta

[英]Python timedelta with seconds

在文档上它说timedelta(seconds= ) ,秒应该Between 0 and 86399 inclusive 但是我希望通过timedelta(seconds=432000) (以秒为单位的 5 天。我知道我们可以通过days = 5但最好以秒为单位编写 parma。它大于 86399 但在控制台中我测试了,好几天了还是解决了。像这样秒过去可以吗?非常感谢您的帮助。

nowtime = datetime.now()
print(nowtime)
2021-06-24 15:08:36.048664
plusdays = timedelta (seconds = 432000) 
print(nowtime+plusdays)
2021-06-29 15:08:36.048664

文档没有这么说;-) 他们说只有天、秒和微秒是在内部存储的,并且以这样一种方式标准化,即存储的内部秒数在range(86400)

就您可以传递给构造函数的内容而言,几乎任何事情都可以; 例如,即使是负秒数:

>>> from datetime import timedelta
>>> timedelta(hours=1, seconds=-1)
datetime.timedelta(seconds=3599)

例子

time.time()通常返回自 1970 年开始(“Unix 时代”)以来的秒数。 这可以直接用于与 UTC 日期时间相互转换。

>>> import time
>>> from datetime import datetime, timedelta
>>> now = time.time(); datetime.utcnow()
datetime.datetime(2021, 6, 24, 21, 51, 27, 939029)
>>> now
1624571487.9390297
>>> datetime(1970, 1, 1) + timedelta(seconds=now)
datetime.datetime(2021, 6, 24, 21, 51, 27, 939030)

最终输出在utcnow()被调用的一微秒内。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM