Digamos que eu tenha um site mundial (quero dizer que tem usos de todo o mundo).
Eu tenho 1 servidor que está na Alemanha (em alguma cidade). nunca será movido da Alemanha - nunca.
Minha pergunta é :
Quando os usuários salvam dados, preciso salvar a data da ação:
Devo salvá-lo (e acho que sim) como UTC
?
Ou desde - o servidor está em um local - não há problema em salvar todas as datas, GetDATE()
pois o ponto da relatividade é o mesmo ponto.
Estou errado ? Se eu fizer isso, você pode fornecer um cenário simples onde vai falhar?
Sempre armazene os dados no banco de dados em UTC e depois use o fuso horário apropriado para convertê-los durante a exibição, no aplicativo. É a única abordagem sensata quando se trata de considerar a mobilidade de dados (replicação geográfica), a localização do usuário e, mais importante, o horário de verão. Se você armazenar a hora local, haverá momentos em que não poderá distinguir entre os valores das colunas e não poderá ordená-los corretamente devido ao horário de verão. Pense que, na Alemanha, 27 de outubro às 2h05 acontecerá duas vezes este ano... E esse é um caso fácil comparado a, digamos, Marrocos .