2016-08-01 114 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

真的很有用。谢谢! –