之前有個程序,里面有個時間部分是按照國內時區,也就是東八區,來寫的,程序中定義了北京時間2點到八點進行檢查;后面程序在國外機器上,例如說韓國,歐美等,執行的時候發現會有時間上的問題,因為獲取的是機器的本地時間
因為機器上不好裝包,只能通過常用的模塊進行改寫了
原先的代碼如下:
#self.invalidStartTime = datetime.time(2,00)#self.invalidEndTime = datetime.time(8,59)
為了計算時區的差值并對以上兩行代碼的時間進行轉換,改為以下:
import time,datetimedelta = (time.timezone - (-28800))/3600 #28800為北京時間相對utc 0時區來計算的秒數,即 8*3600if 2-delta < 0: #小于0,就是前一天的時間了,注意是24小時算 self.invalidStartTime = datetime.time(26-(delta),00) else: self.invalidStartTime = datetime.time(2-delta,00)if 8-delta < 0: self.invalidEndTime = datetime.time(32-(delta),59)else: self.invalidEndTime = datetime.time(8-(delta),59)
這樣子就可以把程序其他時區的機器了!
以上這篇在python 不同時區之間的差值與轉換方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。
新聞熱點
疑難解答