带秒的Python timedelta

2024-04-24 21:05:10 发布

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

在文档上,它表示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

Tags: and文档参数datetime单位plusbetweeninclusive
1条回答
网友
1楼 · 发布于 2024-04-24 21:05:10

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

就您可以传递给构造函数的内容而言,任何东西都可以;e、 例如,即使是负秒:

>>> 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()的一微秒之内

相关问题 更多 >