使用日期时间、纬度和经度需要使用Zdump IANA的带/不带DST的偏移量

2024-05-29 06:12:22 发布

您现在位置:Python中文网/ 问答频道 /正文

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


Tags: 模块脚本数据库时间偏移量dstianalon
1条回答
网友
1楼 · 发布于 2024-05-29 06:12:22

抱歉,您所问的是不可能的,因为IANA时区数据库不包括时区的地理边界

IANA时区数据库中唯一的位置数据是zone.tabzone1970.tab中参考位置的坐标。但是,这并没有告诉您分区的边界。人们不能只选择最近的城市,如图this answer末尾所示

正确的解决方案是使用提供geographic boundaries of time zones的库。对于Python来说,目前最好的选择是timezonefinder

一旦确定了时区,就可以对该时区使用zdump来获取原始偏移信息。但是,在确定要使用哪一个偏移量或偏移量集时,仍然会遇到一些挑战。并非所有时区都像具有单个标准偏移或标准偏移+夏令时那样简单。许多人在其历史中多次更改了标准偏移量,因此您仍然需要参考“now”(ish)

pytzdateutilarrow这样的库通过公开为您正确解释数据的API,使这一部分变得更加容易。如果您不想为此使用库,那么可以在即将发布的Python 3.9版本中使用PEP 615中的内置时区支持

相关问题 更多 >

    热门问题