我在 python 中遇到了一個奇怪的時區問題,我將其歸結為幾行代碼:
from datetime import time, datetime
import pytz
tz = pytz.timezone('Canada/Pacific')
d = datetime.now(tz=tz)
t = time(tzinfo=tz)
在檢查dand 中的 tzinfo 物件時t,int給出的時區的 utc-offset 為 8:12,而 ind給出的 utc-offset 僅為 8 小時,這是正確的偏移量。該tz實體還給出了 8:12 的 utc 偏移量。額外的 12 分鐘有什么用?
我意識到這datetime.now()取決于您何時運行代碼,所以我會說我在將它發布到 StackOverflow 之前運行了幾分鐘并看到了同樣的錯誤。對時區更了解的人可以幫助我找出問題所在嗎?
uj5u.com熱心網友回復:
@Ruli 答案只是閱讀檔案。
tz = pytz.timezone('Canada/Pacific')
dt = tz.normalize(datetime.now())
t = tz.normalize(time())
是創建本地時間的正確方法。
uj5u.com熱心網友回復:
對于后代,問題是我們實際上不能使用 pytz.timezone() 并將其提供給 tzinfo 引數。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/370532.html
