首頁>技術>

python 的datetime模組比較兩個時間的前後關係時,會出現報錯:

TypeError: can't compare offset-naive and offset-aware datetime

這是因為兩個時間不屬於同一型別,offset-naive是不含時區的型別,而offset-aware是有時區型別,兩者自然不能比較。

透過判斷datetime物件的tzinfo屬性,來獲悉是否有時區

now=datetime.datetime.now()now.tzinfo==None  // 判斷是否有時區now + datetime.timedelta(hours=10) // 加減時間tz_utc_8 = timezone(timedelta(hours=8)) // 建立時區UTC+8:00dt = now.replace(tzinfo=tz_utc_8)  // 強制設定為UTC+8:00 now=now.replace(tzinfo=None) //offset-aware型轉換為offset-naive型
//拿到UTC時間,並強制設定時區為UTC+0:00:utc_dt = datetime.utcnow().replace(tzinfo=timezone.utc)//# astimezone()將轉換時區為北京時間:bj_dt = utc_dt.astimezone(timezone(timedelta(hours=8)))

12
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • JAVA人事管理系統(畢業設計)