簡體   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