是当前使用夏令时的特定时区



我如何让我的python脚本检查是否一个特定的时区,是存储在一个变量使用DST现在?我的服务器设置为UTC。所以我有比如

zonename = Pacific/Wallis

我想运行查询,如果它正在使用DST现在,并有回复返回为true或false。

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个值中的一个:0表示没有夏令时,1表示夏令时,-1表示没有设置时区。

Python 3.9添加了zoneinfo模块来取代pytz。这是针对现代Python版本的新更新版本。

from zoneinfo import ZoneInfo
from datetime import datetime
bool(datetime.now(tz=ZoneInfo("America/Chicago")).dst())

相关内容

  • 没有找到相关文章

最新更新