Z mojego doświadczenia wynika, że generalnie powinieneś przechowywać dane jako UTC, z odpowiednią strefą czasową w osobnej kolumnie. Posiadanie tabeli stref czasowych i przechowywanie klucza strefy czasowej jest rozsądną rzeczą w relacyjnej bazie danych.
Jednak w tym przypadku wszystkie dane są już w czasie lokalnym, więc w tym przypadku możesz przechowywać czas lokalny w kolumnie czasu i dodać kolumnę strefy czasowej. W ten sposób nie musisz konwertować dat, które już znajdują się w bazie danych.
Przechowywanie przesunięcia nie jest konieczne, chyba że zauważysz, że konwersja z daty i strefy na przesunięcie jest zbyt czasochłonna.