import pytz
import datetime as DT
NOW = DT.datetime.now()
ZERO = DT.timedelta(0)
for tname in pytz.common_timezones:
tzone = pytz.timezone(tname)
std_date = None
try:
for utcdate, info in zip(
tzone._utc_transition_times, tzone._transition_info):
utcoffset, dstoffset, tzname = info
if dstoffset == ZERO:
std_date = utcdate
if utcdate > NOW:
break
except AttributeError:
std_date = NOW
std_date = tzone.localize(std_date)
print('{n} UTC{z}'.format(n=tname, z=std_date.strftime('%z')))
pytz
tzinfo
对象包含标记STD和DST之间边界的UTC转换时间。然而,访问这些信息尤其需要深入了解他们的私人属性,tzone._utc_transition_times
,tzone._transition_info
。所以下面的内容是脆弱的pytz
并不保证您可以在将来的版本中以相同的方式访问相同的信息。在然而,至少对于pytz版本2010b,使用上面的属性,您可以找到STD中最近的一个日期,然后可以使用
std_date.strftime('%z')
来打印偏移量。在印刷品
^{pr2}$相关问题 更多 >
编程相关推荐