我有以下数据:地方的地理坐标和当地的日期和时间,不一定是当前的,可能指向许多年前的某个时刻。我目前也可能有非DST时区有效,目前时间(但不一定对感兴趣的日期和时间是正确的)。我想知道DST是否在当地时间使用Python在该位置生效。任何想法如何做到这一点?我正在阅读有关包装pytz的信息,但找不到任何合适的信息来完成它。
你需要How to get a time zone from a location using latitude and longitude coordinates?中的一个解决方案来识别给定坐标所属的时区。
获得时区后,您可以使用Is a specific timezone using DST right now?中的解决方案,根据时区和日期/时间确定DST是否有效。
我假设你已经解决了时区问题 - 如果没有,这个问题确实存在两个问题:
我对Python并不是很熟悉,但考虑到this documentation我相信你想要tzinfo.dst(dt)
函数,它将在标准时间内返回timedelta(0)
,以及标准偏移量和DST中的墙壁偏移之间的差异。你传递datetime
你想找到的偏移量。
请注意,在pytz
库中,还有一个额外的is_dst
参数,您可以指定该参数来解决歧义,其中给定的本地时间由于“后退”转换而发生两次。