Как правильно сделать работу с городами и часовым поясом?
Может быть лучше использовать комплексный datetime, или ещё лучше хранить как без-знаковый unixtime (работать будет быстрее, а научить модели при чтении из этого поля возвращать корректный DateTime объект - не так то уж и сложно).
И я бы хранил в UTC, всё верно, и у пользователя отдельное значение - смещение от него в ту или иную сторону. Тогда от огромной кучи проблем избавишься, главное лишь чтоб на серверах (app + db) время корректно стояло - строго по UTC.
«Never say never» или Работаем с таймзонами правильно