Pergunta

Se você precisar de sua aplicação web para traduzir entre fusos horários em uma base por usuário, por que não usar TIMESTAMP através da placa para todos os campos de data / hora? Considere que os valores de timestamp são armazenados em UTC e convertidos para o fuso horário definido para a conexão quando recuperados.

Eu fiz esta pergunta no IRC, leia a documentação MySQL, procurou Google extensivamente, e pedi aos meus colegas de trabalho, e eu ainda tenho que encontrar uma razão para não usar TIMESTAMP.

Nota: Eu entendo TIMESTAMP tem uma gama limitada de 1970 - 2038; que não vai ser um problema no meu caso. Além disso, estou usando PHP com MySQL.

Foi útil?

Solução

DATETIME é para datas arbitrárias e horários em que você utiliza em seus dados.

TIMESTAMP é para quando você deseja que o tempo para ser atualizado automaticamente. Se você quer saber quando a linha foi inserida / atualizada, use um TIMESTAMP.

Além disso, mantenha em mente que um TIMESTAMP só é armazenados em UTC - ele é convertido para o fuso horário local do servidor antes de ser transmitido de volta como parte de uma consulta.

No seu caso, você é melhor fora de usar um DATETIME. Se você está preocupado com a UTC, isso é bom - apenas criar as datas em UTC em vez de usar a hora local. Use UTC_TIMESTAMP .

Outras dicas

Eu acho que sua resposta está aqui:

Eu entendo TIMESTAMP tem uma gama limitada de 1970 - 2038; que não vai ser um problema no meu caso.

Gostaria de ter cuidado fazer suposições sobre a longevidade de projectos especialmente quando se trata de esquemas de banco de dados . Bases de dados têm uma tendência a permanecer no local e em uso por muito tempo após as aplicações que os usados ??desapareceram.

A resposta de Randalpho está errado em muitos fatos!

Timestamps não precisa ser atualizado automaticamente na criação ou atualizações.

Além disso, marcas de tempo são convertidas para a hora local do cliente, não o serever é.

Basta olhar para os docs MySQL para data e hora.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top