我使用应用于机场经度和纬度的
TimezoneFinder().timezone_at
从世界各地的机场检索时区。当我想使用这些时区(计算航班的起飞和到达时间)时,除了 America/Ciudad_Juarez 之外,一切正常。
这个简单的代码:
from timezonefinder import TimezoneFinder
from pytz import timezone
tz = TimezoneFinder().timezone_at(lng=-106.48333, lat=31.73333)
# retrieves 'America/Ciudad_Juarez'
timezone(tz)
产生此错误:
UnknownTimeZoneError: 'America/Ciudad_Juarez'
我检查了这个优秀的维基百科页面,这个时区是正确的,规范的他们说。令我惊讶的是,通过
timezonefinder
获取的时区未被 pytz
识别。我怎样才能干净地解决这个问题?
这个时区是最近才添加的,因为华雷斯城决定将其时间与美国夏令时保持一致。有关公告,请参阅 http://mm.icann.org/pipermail/tz-announce/2022-November/000076.html。看起来 pytz 尚未更新以包含该更改。
如果您的服务无法识别
America/Ciudad_Juarez
,您可以使用我们以前的 America/Denver
,它遵循与 America/Ciudad_Juarez
完全相同的时间变化。而且,它与 America/Chihuahua
不同。
我个人在手机、日历、谷歌中使用
America/Denver
好几年了,它总是准确的。当每项服务都可用时,我已经切换到 America/Ciudad_Juarez
。