我有以下数据:地点的地理坐标和当地的日期和时间,不一定是当前的,可能指向许多年前的某个时刻。我目前也可能有非 DST 时区有效(但对于感兴趣的日期和时间不一定正确(。我想了解 DST 是否在那个本地时间使用 Python 在该位置生效。有什么想法吗?我正在阅读有关包pytz的信息,但找不到任何合适的内容来完成它。
您需要如何使用纬度和经度坐标从某个位置获取时区中的解决方案之一? 来标识给定坐标所属的时区。
获得时区后,您可以使用解决方案,例如特定时区现在是否正在使用 DST?,以确定给定时区和日期/时间的 DST 是否有效。
我假设你已经解决了时区本身 - 如果没有,这个问题确实有两个问题:
- 从坐标查找时区 ID
- 确定 DST 是否在任意日期/时间在时区中生效
我对 Python 不是很熟悉,但鉴于此文档,我相信您需要 tzinfo.dst(dt)
函数,它将在标准时间内返回timedelta(0)
,以及标准偏移量和 DST 中的墙壁偏移量之间的差异。传入要查找其偏移量的datetime
。
请注意,在pytz
库中,有一个额外的 is_dst
参数,您可以指定该参数来解决歧义,其中给定的本地时间由于"回退"转换而出现两次。