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

如何判断ZoneInfo是否为别名?识别名称不同的同时区ZoneInfo

识别ZoneInfo别名对应的同一时区

你遇到的问题是因为ZoneInfo的==运算符默认比较的是时区的名称字符串,而非背后实际的时区规则。尽管Atlantic/Faeroe和Atlantic/Faroe是同一时区的别名,但名称不同,直接用==会返回False。

要判断两个ZoneInfo是否属于同一时区,可采用以下两种可靠方法:

  • 比较key属性:所有指向同一时区的别名,对应的key属性值完全相同。示例代码:
    a = ZoneInfo('Atlantic/Faeroe')
    b = ZoneInfo('Atlantic/Faroe')
    print(a.key == b.key)  # 输出 True
    
  • 验证时区规则一致性:可以对比时区的UTC偏移、夏令时规则等,但key属性是更直接高效的方式——它是时区的唯一标识,别名会统一映射到同一个key。

像EST和UTC这类本身就属于不同时区的实例,它们的key属性也会不同,用这种方法能准确区分。

内容的提问来源于stack exchange,提问作者Janus Troelsen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 13:24:59