Python如何将短时区代码转换为完整时区名称?获取节点时区方案
获取完整IANA时区名称的Python实现
问题场景
需要获取物理机、虚拟机、容器节点的完整时区标识符(如America/New_York、America/Denver),但使用以下代码只能得到MDT、EDT这类短时区缩写:
import datetime import dateutil.tz tz_name = datetime.datetime.now(dateutil.tz.tzlocal()).tzname()
解决方案
使用tzlocal库可以直接获取标准的IANA时区名称,代码实现如下:
from datetime import datetime from tzlocal import get_localzone _now = datetime.now(tz=get_localzone()) print(_now.tzinfo.key) # 示例输出:America/New_York
说明
get_localzone()方法会自动识别当前系统(包括容器环境)的时区配置,返回对应的IANA时区对象,通过访问该对象的key属性就能得到完整的时区标识符,解决了短时区缩写无法唯一标识时区的问题。
内容的提问来源于stack exchange,提问作者VAgrawal
相关产品推荐
相关产品推荐

