Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como armazenar um datetime no MySQL com informações de fuso horário


Você disse:

Eu quero que eles sempre apareçam no horário da Tanzânia e não no horário local em que vários colaboradores estão.

Se for esse o caso, você não usar UTC. Tudo que você precisa fazer é usar um DATETIME digite MySQL em vez de um TIMESTAMP tipo.

Da documentação do MySQL :

MySQL converte TIMESTAMP valores do fuso horário atual para UTC para armazenamento e de volta do UTC para o fuso horário atual para recuperação. (Isso não ocorre para outros tipos como DATETIME .)

Se você usando um DATETIME tipo, então você não deve defini-lo pela hora local para começar. Você precisará se concentrar menos no banco de dados e mais no código do seu aplicativo - que você não mostrou aqui. O problema e a solução variam drasticamente dependendo do idioma, portanto, certifique-se de marcar a pergunta com o idioma apropriado do código do aplicativo.