使用日期时间、纬度和经度需要使用Zdump IANA进行带/不带夏令时的偏移



关于这个时区有很多问题,我需要获得+5.5、+6.0等偏移量,使用时间、纬度和经度,我想使用IANA数据库的zdump,使用python脚本,不想使用pytz或时区查找器模块。只想解析时间,lat和lon然后获得带/不带DST的偏移量。我已经提取了tz2020a数据库。

很抱歉,您的要求是不可能的,因为IANA时区数据库不包括时区的地理边界。

IANA时区数据库中唯一的位置数据是zone.tab和zone1970.tab中参考位置的坐标。但是,此数据"不会告诉"您该区域的边界。人们不能只选择最近的城市,如答案末尾的图形所示。

正确的解决方案是使用一个提供时区地理边界的库。对于Python,目前最好的选择是timezonefinder。

一旦确定了时区,就可以使用该时区的zdump来获取原始偏移信息。然而,在确定要使用哪种偏移或偏移组时,您仍然会遇到一些挑战。并非所有时区都像拥有一个标准偏移量或标准偏移量+夏令时那样简单。许多公司在其历史上多次更改标准偏移量,因此您仍然需要参考";现在";(ish(。

pytz、dateutil或arrow等库通过公开能够为您正确解释数据的API,使这一部分变得更加容易。如果你不想为此使用库,你可以在即将发布的Python 3.9版本中使用PEP615的内置时区支持。

相关内容

  • 没有找到相关文章

最新更新