Определить летнее время для городов США до 1967 года.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Определить летнее время для городов США до 1967 года.

Сообщение Anonymous »

Я работаю над проблемой, где мне нужно получить дату и время и их смещение от UTC.
Я получаю данные, представляющие собой дату, время, долготу и широту.
В настоящее время я использую 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
Проблема в том, что, очевидно, до 1967 года в штатах США не было единого летнего времени, поэтому в пределах одного и того же часового пояса некоторые штаты или округа могут переходить на летнее время, а некоторые — нет. Это делает приведенный выше код неточным.
Например, Техас является частью часового пояса Америки и Чикаго, но в период с 1945 по 1966 год здесь не переходило на летнее время. Если бы я получил часовой пояс из координат, а затем получил смещение UTC, это дало бы мне, что часовой пояс принял летнее время.
Мне интересно, может ли программа поиска часового пояса или pytz предоставить мне те данные, которые я имею ищу.
Как я уже упоминал, я попытался преобразовать географические координаты в часовой пояс, а затем получить смещение от UTC этого часового пояса в конкретную дату. Это не сработало, потому что конкретно для нас произошли изменения в часовых поясах, когда в пределах одного и того же часового пояса разные штаты (иногда даже разные округа в одном штате) могли переключиться на летнее время, а другие - нет.

Подробнее здесь: https://stackoverflow.com/questions/788 ... or-to-1967
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»