хранится дата с типом timestamp with time zone time зона Москва +3. Когда я получаю данное поле с помощью алхимии, он конвертируют полученную дату в +0; Как можно этого избежать? Пытался тыкать следующиеЖ Date с включённым/выключенным флагом и TIMESTAMP из postgre расширения с включённым/выключенным флагом — итог один, время сдвинуто на +0, то есть на -3 часа. 😔
поменяй на TIMESTAMP
Datetime(timezone=True) пробовал?
Да... Как в сообщение и писал, всегда -3 фигачит.
ну и конечно указать флаг timezone=True
я пытался поменять тз на сессию, но особо не помогало \ делал неправильное. гораздо проще каждую тз менять + мне надо было менять под каждого клиента
Сейчас у меня костыль на прибавку дельты😔
Не-а, я это всё уже пробовал, к сожалению. Поскольку это первые запросы в гугле, которые должны помочь....
нахуя... делай replace tz но и тут свои приколы есть ))))))))) я около месяца назад на приколы с тз целый день проебал, такая поебота
м, понятно, тогда попробуй указать таймзону при создании engine: create_engine(..., connect_args={"options": "-c timezone=utc+3"})
А можно в контексте, не очень понял. 🧐 Возможно видел пока искал решение проблемы данный кейс, просто не запомнил😳😳
ну типа базовое решение которое первым идёт в голову dt = dt.replace(tz=my_tz)
какой драйвер используешь?
А, ну да, звучит более унифицировано,нежели дельту
а разница?
только наверно astimezone
но ведь оно тоже мне тз меняло иногда оно меняет не только тз, а и значение времени если это то что надо, то ок но это не всегда надо
оно переводит из одной зоны в другую
а зачем?
Обсуждают сегодня