Как в Python (pytz) добавить «день» к дате и времени с учетом летнего времени? (Иногда результат должен быть через 23 илPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как в Python (pytz) добавить «день» к дате и времени с учетом летнего времени? (Иногда результат должен быть через 23 ил

Сообщение Anonymous »

Я занимаюсь математическими расчетами даты и времени в Python с помощью библиотеки pytz (хотя при необходимости я готов использовать и другие библиотеки). У меня есть итератор, который должен увеличиваться на один день для каждой итерации цикла. Проблема возникает при переходе с 3 ноября на 4 ноября в восточном часовом поясе, который пересекает границу летнего времени (между началом 3 ноября и началом 5 ноября проходит 25 часов вместо обычных 24). Всякий раз, когда я добавляю «день», пересекающий границу, я получаю время в будущем на 24 часа вместо ожидаемых 25.
Вот что я пробовал:< /p>

Код: Выделить всё

import datetime
import pytz
ET = pytz.timezone("US/Eastern")
first_day = ET.localize(datetime.datetime(2024, 11, 3))
next_day = first_day + datetime.timedelta(days=1)

first_day.isoformat()  # '2024-11-03T00:00:00-04:00'
next_day.isoformat()  # '2024-11-04T00:00:00-04:00'

assert next_day == ET.localize(datetime.datetime(2024, 11, 4))  # This fails!!
# I want next_day to be '2024-11-04T00:00:00-05:00' or '2024-11-04T01:00:00-04:00'
Я также пытался добавить туда функциюnormalize(), но это тоже не дало правильного результата:

Код: Выделить всё

ET.normalize(next_day).isoformat()  # '2024-11-03T23:00:00-05:00'
(Это на час раньше желаемого результата)
Полагаю, я мог бы сделать копию моего start_day, которая увеличит день поле, но тогда мне придется знать границы месяца и года, что мне не кажется идеальным.

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как в Python (pytz) добавить «день» к дате и времени с учетом летнего времени? (Иногда результат должен быть через 23 ил
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Как в Python (pytz) добавить «день» к дате и времени с учетом летнего времени? (Иногда результат должен быть через 23 ил
    Anonymous » » в форуме Python
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous
  • Как перевести даты в UTC с учетом зимнего и летнего времени?
    Anonymous » » в форуме Python
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Рассчитать часы за период. с учетом летнего времени
    Anonymous » » в форуме Python
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Рассчитать часы за период. с учетом летнего времени
    Anonymous » » в форуме Python
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous

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