python – Is there a list of Pytz Timezones?
python – Is there a list of Pytz Timezones?
You can list all the available timezones with pytz.all_timezones
:
In [40]: import pytz
In [41]: pytz.all_timezones
Out[42]:
[Africa/Abidjan,
Africa/Accra,
Africa/Addis_Ababa,
...]
There is also pytz.common_timezones
:
In [45]: len(pytz.common_timezones)
Out[45]: 403
In [46]: len(pytz.all_timezones)
Out[46]: 563
Dont create your own list – pytz
has a built-in set:
import pytz
set(pytz.all_timezones_set)
>>> {Europe/Vienna, America/New_York, America/Argentina/Salta,..}
You can then apply a timezone:
import datetime
tz = pytz.timezone(Pacific/Johnston)
ct = datetime.datetime.now(tz=tz)
>>> ct.isoformat()
2017-01-13T11:29:22.601991-05:00
Or if you already have a datetime
object that is TZ aware (not naive):
# This timestamp is in UTC
my_ct = datetime.datetime.now(tz=pytz.UTC)
# Now convert it to another timezone
new_ct = my_ct.astimezone(tz)
>>> new_ct.isoformat()
2017-01-13T11:29:22.601991-05:00
python – Is there a list of Pytz Timezones?
The timezone name is the only reliable way to specify the timezone.
You can find a list of timezone names here: http://en.wikipedia.org/wiki/List_of_tz_database_time_zones
Note that this list contains a lot of alias names, such as US/Eastern for the timezone that is properly called America/New_York.
If you programatically want to create this list from the zoneinfo database you can compile it from the zone.tab file in the zoneinfo database. I dont think pytz has an API to get them, and I also dont think it would be very useful.