from datetime import datetime
from dateutil import tz, zoneinfo
if __name__ == '__main__':
zonefile = zoneinfo.get_zonefile_instance()
print zonefile.zones.keys()[:20]
# use timezone
tz_dubai = tz.gettz('Asia/Dubai')
tz_sh = tz.gettz('Asia/Shanghai')
# Shanghai timezone
now_sh = datetime.now(tz=tz_sh)
print now_sh
# Dubai timezone
now_dubai = datetime.now(tz=tz_dubai)
print now_dubai
# datetime timezone conversion
print now_dubai.astimezone(tz_sh)
print 'done!'
['Atlantic/Canary', 'Europe/Lisbon', 'Etc/GMT+9', 'Etc/GMT+8', 'Antarctica/Mawson', 'Etc/GMT+3', 'Etc/GMT+2', 'Etc/GMT+1', 'Etc/GMT+0', 'Etc/GMT+7', 'Etc/GMT+6', 'Etc/GMT+5', 'Etc/GMT+4', 'Indian/Reunion', 'America/Fort_Nelson', 'Antarctica/Davis', 'America/Coral_Harbour', 'Asia/Dhaka', 'America/St_Lucia', 'Australia/LHI']
2019-01-16 21:15:41.503000+08:00
2019-01-16 17:15:41.503000+04:00
2019-01-16 21:15:41.503000+08:00
done