Как узнать, был ли DST эффективен для какой-то даты в Python? - PullRequest
1 голос
/ 22 марта 2019

У меня есть следующие данные: географические координаты места и местные дата и время, необязательно текущие, могут указывать на какой-то момент много лет назад. У меня также может быть часовой пояс без DST, действующий в настоящее время, в настоящее время (но не обязательно корректный для даты и времени интереса). Я хочу выяснить, действовал ли DST в этом месте в то время по местному времени, используя Python. Есть идеи, как это сделать? Я читал про пакет pytz, но не смог найти в нем ничего подходящего.

Ответы [ 2 ]

2 голосов
/ 22 марта 2019

Вам понадобится одно из решений в Как получить часовой пояс из местоположения, используя координаты широты и долготы? , чтобы определить часовой пояс, которому принадлежат данные координаты.

Когда у вас есть часовой пояс, вы можете использовать решение в . Определенный часовой пояс использует DST прямо сейчас? , чтобы определить, эффективен ли DST с учетом часового пояса и даты / времени.

2 голосов
/ 22 марта 2019

Я предполагаю, что вы уже решили сам часовой пояс - если нет, то в этом одном вопросе действительно есть две проблемы:

  • Поиск идентификатора часового пояса по координатам
  • Определение, действовал ли DST в часовом поясе в произвольную дату / время

Я не очень знаком с Python, но, учитывая эту документацию Я полагаю, вы хотитефункция tzinfo.dst(dt), которая будет возвращать timedelta(0) в стандартное время, и разница между стандартным смещением и смещением стены в DST.Вы передаете datetime, для которого хотите найти смещение.

Обратите внимание, что в библиотеке pytz есть дополнительный параметр is_dst, который можно указать для разрешения неоднозначностей, где заданное местное времяпроисходит дважды из-за перехода «отступление».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...