如何让我的python脚本检查现在使用DST存储在变量中的特定时区? 我的服务器设置为UTC。 所以我有 比如说
zonename = Pacific/Wallis
我想运行查询,了解它是否正在使用DST,并将回复返回为true为假。
答案 0 :(得分:17)
from pytz import timezone
from datetime import datetime
zonename = "Pacific/Wallis"
now = datetime.now(tz=timezone(zonename))
dst_timedelta = now.dst()
### dst_timedelta is offset to the winter time,
### thus timedelta(0) for winter time and timedelta(0, 3600) for DST;
### it returns None if timezone is not set
print "DST" if dst_timedelta else "no DST"
替代方案是使用:
now.timetuple().tm_isdst
其中一个可以包含3个值中的一个:{DAR}为0
,DST为1
,未设置时区为-1
。