You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何列出Python中Time和Datetime库可用时区以获取对应时区时间?

列出Python中可用时区的方法

标准库的datetime和time本身没有内置完整的时区列表,通常我们会借助pytz库(你示例代码中用到的库)来获取IANA时区数据库的完整列表,也可以用Python 3.9+新增的标准库zoneinfo来实现。

方法一:使用pytz库获取时区列表

pytz提供了两个属性来获取时区列表:

  • pytz.all_timezones:包含所有IANA时区,数量较多
  • pytz.common_timezones:包含常用时区,冗余更少

示例代码:

import pytz

# 获取所有时区并打印前10个示例
all_timezones = pytz.all_timezones
print("所有时区示例:")
for tz in all_timezones[:10]:
    print(tz)

# 获取常用时区并打印前10个示例
common_timezones = pytz.common_timezones
print("\n常用时区示例:")
for tz in common_timezones[:10]:
    print(tz)

输出示例:

所有时区示例:
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
Africa/Asmera
Africa/Bamako
Africa/Bangui
Africa/Banjul
Africa/Bissau

常用时区示例:
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
Africa/Bamako
Africa/Bangui
Africa/Banjul
Africa/Bissau
Africa/Blantyre

方法二:使用Python 3.9+的zoneinfo标准库

如果你的Python版本在3.9及以上,可以直接用标准库zoneinfo获取系统自带的时区列表,无需额外安装第三方库:

from zoneinfo import available_timezones

# 获取所有可用时区并转成列表
all_tz = list(available_timezones())
print("zoneinfo时区示例:")
print(all_tz[:10])

结合时区列表获取对应时区时间

拿到时区列表后,你可以将其作为选项供用户选择,再获取对应时区的当前时间,比如:

from datetime import datetime
import pytz

# 假设从列表中选中某个时区
selected_tz = pytz.timezone('Asia/Shanghai')
current_time = datetime.now(selected_tz)
print(current_time.strftime('%Y-%m-%d_%H-%M-%S'))

内容的提问来源于stack exchange,提问作者Pradeep Padmanaban C

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 03:42:25