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()
通常 returns 自 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()
后的一微秒内。
文档上说 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()
通常 returns 自 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()
后的一微秒内。