Skip to content Skip to sidebar Skip to footer

Is A Specific Timezone Using Dst Right Now?

How would I get my python script to check whether or not a specific timezone that is stored in a variable using DST right now? My server is set to UTC. So I have say for instance

Solution 1:

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 setprint"DST"if dst_timedelta else"no DST"

alternative is to use:

now.timetuple().tm_isdst

Which can have one of 3 values: 0 for no DST, 1 for DST and -1 for timezone not set.

Solution 2:

Python 3.9 has added the zoneinfo module which replaces pytz. Here is a new updated version for modern Python versions.

from zoneinfo import ZoneInfo
from datetime import datetime

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

Post a Comment for "Is A Specific Timezone Using Dst Right Now?"