Я получаю данные, представляющие собой дату, время, долготу и широту.
В настоящее время я использую pytz и timezonefinder, чтобы найти часовой пояс и получить смещение utc
Код: Выделить всё
def get_utc_offset_from_obj(datetime_obj: datetime, timezone) -> str:
timezone = pytz.timezone(timezone)
localized_date = timezone.localize(datetime_obj)
offset = localized_date.utcoffset()
total_minutes = int(offset.total_seconds() / 60)
hours, minutes = divmod(abs(total_minutes), 60)
sign = '-' if total_minutes < 0 else '+'
formatted_offset = f"{sign}{hours:02d}:{minutes:02d}"
return formatted_offset
Например, Техас является частью часового пояса Америки и Чикаго, но в период с 1945 по 1966 год здесь не переходило на летнее время. Если бы я получил часовой пояс из координат, а затем получил смещение UTC, это дало бы мне, что часовой пояс принял летнее время.
Мне интересно, может ли программа поиска часового пояса или pytz предоставить мне те данные, которые я имею ищу.
Как я уже упоминал, я попытался преобразовать географические координаты в часовой пояс, а затем получить смещение от UTC этого часового пояса в конкретную дату. Это не сработало, потому что конкретно для нас произошли изменения в часовых поясах, когда в пределах одного и того же часового пояса разные штаты (иногда даже разные округа в одном штате) могли переключиться на летнее время, а другие - нет.
Подробнее здесь: https://stackoverflow.com/questions/788 ... or-to-1967