Como exatamente a data/hora funciona no MySQL com fusos horários?

Como exatamente a data/hora funciona no MySQL com fusos horários?

Meu entendimento foi:

  • tudo é UTC internamente
  • as datas são exibidas no fuso horário @@session.time_zone da sessão atual
  • se eu fizer INSERTcom +02:00TZ set e insert 2015-05-15 10:54ele será analisado e armazenado como 2015-05-15 08:54UTC.
  • quando eu mudo para UTCTZ, ele deve ser exibido agora2015-05-15 08:54
  • o que acontece é que ele ainda exibe2015-05-15 10:54

O que estou fazendo de errado? Ou isso é esperado? Eu li alguns artigos sobre data e hora no MySQL, mas ainda não tenho certeza.

Responder1

Isso se aplica apenas a TIMESTAMPcampos. DATETIMEos campos são deixados como estão.

Verhttp://dev.mysql.com/doc/refman/5.7/en/datetime.html

informação relacionada