是否有 Pytz 时区列表?

新手上路,请多包涵

我想知道 Python 库 pytz 中 timezone 参数的所有可能值是什么。怎么做?

原文由 ipegasus 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 674
2 个回答

您可以使用 pytz.all_timezones 列出所有可用的时区:

 In [40]: import pytz
In [41]: pytz.all_timezones
Out[42]:
['Africa/Abidjan',
 'Africa/Accra',
 'Africa/Addis_Ababa',
 ...]

还有 pytz.common_timezones

 In [45]: len(pytz.common_timezones)
Out[45]: 403

In [46]: len(pytz.all_timezones)
Out[46]: 563

原文由 unutbu 发布,翻译遵循 CC BY-SA 3.0 许可协议

不要创建自己的列表- pytz 有一个内置的集合:

 import pytz
set(pytz.all_timezones_set)
>>> {'Europe/Vienna', 'America/New_York', 'America/Argentina/Salta',..}

然后您可以 应用时区

 import datetime
tz = pytz.timezone('Pacific/Johnston')
ct = datetime.datetime.now(tz=tz)
>>> ct.isoformat()
2017-01-13T11:29:22.601991-05:00

或者 如果你已经有一个 datetime 对象,它是 TZ 感知 的(不是天真的):

 # 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

原文由 chribsen 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题