如何在Python中找出DST是否对某个日期有效?

2024-03-29 08:58:48 发布

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

我有以下数据:地理坐标的地点和当地的日期和时间,不一定是现在的,可能指的是很多年前的某个时刻。我也可能有非夏令时时区生效,目前的时间(但不一定正确的日期和时间的利益)。 我想用Python找出在当地时间DST是否在那个位置有效。你知道怎么做吗?我正在读关于pytz包的书,但是找不到任何合适的东西来完成它。你知道吗


Tags: 数据时间dst地点地理坐标利益pytz时刻
2条回答

您将需要How to get a time zone from a location using latitude and longitude coordinates?中的一个解决方案来标识给定坐标所属的时区。你知道吗

一旦有了时区,就可以使用Is a specific timezone using DST right now?的解决方案来确定给定时区和日期/时间的DST是否有效。你知道吗

我假设你已经解决了时区本身-如果没有,这一个问题实际上有两个问题:

  • 从坐标中查找时区ID
  • 确定DST是否在某个时区的任意日期/时间生效

我对Python不是很熟悉,但是考虑到this documentation,我相信您需要tzinfo.dst(dt)函数,它将在标准时间内返回timedelta(0),并在DST中返回标准偏移和墙偏移之间的差异。传入要查找其偏移量的datetime。你知道吗

请注意,在pytz库中,有一个附加的is_dst参数,您可以指定它来解决歧义,其中由于“回退”转换,给定的本地时间出现了两次。你知道吗

相关问题 更多 >