В частности, в следующем фрагменте кода:
Код: Выделить всё
tEndUtc = tEnd.astimezone(timezone.utc)
tStartUtc = tStart.astimezone(timezone.utc)
total_timeUTC = tEndUtc- tStartUtc
total_time = tEnd - tStart
Я использую USE_TZ = true в файле настроек.
Вот что я получаю:
Код: Выделить всё
tStart = datetime.datetime(2025, 10, 24, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Europe/Rome'))
tEnd = datetime.datetime(2025, 10, 31, 23, 59, 59, 999999, tzinfo=zoneinfo.ZoneInfo(key='Europe/Rome'))
tStartUtc = datetime.datetime(2025, 10, 23, 22, 0, tzinfo=datetime.timezone.utc)
tEndUtc = datetime.datetime(2025, 10, 31, 22, 59, 59, 999999, tzinfo=datetime.timezone.utc)
total_timeUTC = datetime.timedelta(days=8, seconds=3599, microseconds=999999)
total_time = datetime.timedelta(days=7, seconds=86399, microseconds=999999)
Правильная разница во времени — это та, которую я получаю при использовании UTC. Поскольку все приложения созданы с использованием дат и времени с учетом часового пояса, я бы не хотел все менять и конвертировать в метки времени UTC.
Заранее спасибо.
Подробнее здесь: https://stackoverflow.com/questions/798 ... across-dst
Мобильная версия