Eu não usaria
INT
ou TIMESTAMP
para salvar seus valores de data e hora. Existe o "Year-2038-Problem"
! Você pode usar DATETIME
e salve seus datetimes por um longo tempo. Com
TIMESTAMP
ou tipos de colunas numéricas, você só pode armazenar um intervalo de anos de 1970 a 2038. Com o DATETIME
tipo você pode salvar datas com anos de 1000 a 9999. Ele não é recomendado usar um tipo de coluna numérica (
INT
) para armazenar informações de data e hora. O MySQL (e outros sistemas também) fornece muitas funções para lidar com informações de data e hora. Essas funções são mais rápidas e otimizadas do que funções ou cálculos personalizados:https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html
Para converter o fuso horário do seu valor armazenado para o fuso horário do cliente, você pode usar
CONVERT_TZ
. Nesse caso, você precisa saber o fuso horário do servidor e o fuso horário do seu cliente. Para obter o fuso horário do servidor, você pode ver algumas possibilidades em esta pergunta
.