+1 para @kubal5003.
A exibição de datas e horas é sempre complicada por cultura e fuso horário, portanto, é sempre melhor usar a camada mais próxima do usuário (por exemplo, o navegador ou aplicativo local) para fazer isso. Ele também move parte da carga do banco de dados para a máquina do usuário.
No entanto, há uma exceção para relatórios gerados pelo servidor. Então eu armazeno o nome/ID do fuso horário (ocasionalmente apenas o deslocamento/viés) para encontrar o início do dia. Isso pode ser em todo o sistema ou por cliente/marca.
Para aplicativos da Web, geralmente detecto o fuso horário padrão de um usuário por meio de geolocalização (isso raramente está errado, pois os dados geográficos são bastante precisos agora).