Я сохраняю в БД DateTime как:
2019-02-25T11:30:26+03:00
Тогда в БД это выглядит так:
2019-02-25 08:30:26.000000 +00:00
Преобразовано в UTC. ХОРОШО.
И затем, когда я хочу вернуть этот DateTime по местному времени, я должен
.annotate(check_time_local=Trunc('check_time', 'second', tzinfo=timezone('Etc/GMT+3')))
, который будет преобразован в запрос типа:
DATE_TRUNC('second', "table"."dt_field" AT TIME ZONE '-03') AS "check_time_local"
И получение из БД:
2019-02-25 11:30:26
В Джанго:
2019-02-25 11:30:26 -0300
Почему бы не +3? Почему -3?