2016-08-01 116 views
0

從python的時區獲取UTC偏移的正確方法是什麼? 我需要一個函數來發送一個pytz時區並獲取時區偏移量,而忽略夏令時。從時區忽略DST獲取Python中的時區偏移

import pytz 
tz = pytz.timezone('Europe/Madrid') 
getOffset(tz) #datetime.timedelta(0, 3600) 

回答

3

pytz時區的對象服從tzinfoAPI specificationdatetime模塊中定義。因此,你可以使用他們的.utcoffset().dst()方法:

timestamp = datetime(2009, 1, 1) # any unambiguous timestamp will work here 

def getOffset(tz): 
    return tz.utcoffset(timestamp) - tz.dst(timestamp) 
+2

偉大的答案。要注意爲什麼'timestamp'仍然是必需的,請考慮許多時區多年來已經改變了他們的*標準*時間。 –

+1

真的很有用。謝謝! –