這給我一個字符串。我如何返回到日期時間對象,以便我可以做一些日期算術等?日期時間 - 字符串往返
from datetime import datetime, timezone
s = datetime.now(timezone.utc).astimezone().isoformat()
這段代碼產生了,我很高興有一個字符串,但我怎麼回去datetime
?
2015-11-01T07:49:35.106745-08:00
這給我一個字符串。我如何返回到日期時間對象,以便我可以做一些日期算術等?日期時間 - 字符串往返
from datetime import datetime, timezone
s = datetime.now(timezone.utc).astimezone().isoformat()
這段代碼產生了,我很高興有一個字符串,但我怎麼回去datetime
?
2015-11-01T07:49:35.106745-08:00
在進行日期算術之前不要使用isoformat()
來轉換時間。
試試這個:
import datetime, time
d0 = datetime.datetime.now()
time.sleep(0.1)
d1 = datetime.datetime.now()
print('trip began:{}'.format(d0.isoformat()))
print('trip ended:{}'.format(d1.isoformat()))
delta = d1 - d0
print('that took {} seconds'.format(delta.total_seconds()))
上面沒有做正確的事情時區和夏令時,但你原來的問題似乎有部分工作:
datetime.now(timezone.utc).astimezone()
樣品輸出:
trip began:2015-11-01T08:52:28.326764
trip ended:2015-11-01T08:52:29.331763
that took 1.004999 seconds
這個工作,但它比我想看的要忙得多。
dt = datetime.strptime(s[:-3]+s[-2:], "%Y-%m-%dT%H:%M:%S.%f%z")
print(dt)
您是否考慮閱讀文檔或進行任何其他研究?將解決方案併入您的程序中的 – jonrsharpe
是**您的工作**,這不是代碼寫入服務。 – jonrsharpe