Вы абсолютно правильно используете UTC для всех исторических времен (то есть запись событий произошла). Всегда можно перейти из UTC в местное время, но не всегда наоборот.
Когда использовать местное время? Ответ на этот вопрос:
Если бы правительство вдруг решило изменить летнее время, вы бы этого хотели?
данные поменять с ним?
Храните только местное время, если ответ «да». Очевидно, что это будет только для будущих дат, и обычно только для дат, которые каким-то образом влияют на людей.
Зачем хранить часовой пояс / смещение?
Во-первых, если вы хотите записать, какое смещение было для пользователя, выполнившего действие, вам, вероятно, лучше всего это сделать, т. Е. При входе в систему указать местоположение и часовой пояс для этого пользователя.
Во-вторых, если вы хотите преобразовать для отображения, вам нужно иметь таблицу всех переходов смещения местного времени для этого часового пояса, просто зная, что текущее смещение недостаточно, потому что если вы показываете дату / время от шести месяцев назад смещение будет другим.