【发布时间】:2016-12-07 02:35:25
【问题描述】:
在 python 中从时区获取 UTC 偏移量的正确方法是什么? 我需要一个函数来发送 pytz 时区并获取忽略夏令时的时区偏移量。
import pytz
tz = pytz.timezone('Europe/Madrid')
getOffset(tz) #datetime.timedelta(0, 3600)
【问题讨论】:
在 python 中从时区获取 UTC 偏移量的正确方法是什么? 我需要一个函数来发送 pytz 时区并获取忽略夏令时的时区偏移量。
import pytz
tz = pytz.timezone('Europe/Madrid')
getOffset(tz) #datetime.timedelta(0, 3600)
【问题讨论】:
pytz 时区对象遵循datetime 模块中定义的tzinfo API specification。因此您可以使用他们的.utcoffset() 和.dst() 方法:
timestamp = datetime(2009, 1, 1) # any unambiguous timestamp will work here
def getOffset(tz):
return tz.utcoffset(timestamp) - tz.dst(timestamp)
【讨论】:
timestamp,请考虑多年来许多时区已更改其标准时间。