+1 dla @kubal5003.
Wyświetlanie dat i godzin jest zawsze skomplikowane ze względu na kulturę i strefę czasową, dlatego zawsze najlepiej jest użyć do tego warstwy najbliższej użytkownikowi (np. przeglądarki lub aplikacji lokalnej). Przenosi również część obciążenia z bazy danych na komputer użytkownika.
Istnieje jednak wyjątek dla raportów generowanych przez serwer. Dlatego przechowuję nazwę/identyfikator strefy czasowej (czasami tylko przesunięcie/ustawienie), aby znaleźć początek dnia. Może to dotyczyć całego systemu lub poszczególnych klientów/marek.
W przypadku aplikacji internetowych zazwyczaj wykrywam domyślną strefę czasową użytkownika za pomocą geolokalizacji (rzadko to jest błędne, ponieważ dane geograficzne są teraz dość dokładne).