2016-08-01 21 views
0

in Python Offset Was ist der richtige Weg, um eine UTC von einer Zeitzone in Python versetzt zu bekommen? Ich brauche eine Funktion, um eine pytz Zeitzone zu senden und die Zeitzone erhält Ausgleich für die Sommerzeit zu ignorieren.Erste die Zeitzone von einer Zeitzone zu ignorieren DST

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

Antwort

3

pytz Zeitzone Objekte gehorchen tzinfoAPI specification im Modul datetime definiert. Daher können Sie ihre .utcoffset() und .dst() Methoden verwenden:

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

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

Große Antwort. Um festzustellen, warum "Zeitstempel" noch benötigt wird, berücksichtigen Sie, dass viele Zeitzonen ihre * Standard * -Zeit über die Jahre hinweg geändert haben. –

+1

Wirklich nützlich. Vielen Dank! –