Rails Time Demon na minha máquina ... ele come 2 horas verificaram tudo!
-
05-07-2019 - |
Pergunta
Eu tenho meu ambiente de check.rb
config.time_zone = 'Prague'
Nada em desenvolvimento.rb sobre o tempo
Isso parece funcionar, em teoria ...
Time.zone.now # Thu, 10 Sep 2009 17:51:35 CEST +02:00
também correto ...
Time.now # Thu Sep 10 17:52:10 +0200 2009
mysql... SELECT NOW() # 2009-09-10 17:53:48
correto!
Mas quando eu crio um novo recorde no Rails ou atualiza um antigo
Item.create(:price => price, :spots => beds) # 2009-09-10 15:55:28
E reiniciei Rails muitas vezes!
Solução
Parece que está salvando -o no UTC (tempo GMT), que é duas horas antes do seu horário local. Em grande parte, os tempos de criação são melhor armazenados no UTC -> você os traduz na visualização.
Editar: o Classe de Timestamp parece indicar que o registro de data e hora local deve ser usado. Você pode verificar a configuração da documentação indica.
Outras dicas
Qual é a hora se você selecionar esse registro através do console? 15:55 ou 17:55?
Se você selecionar através do console, ele usa o fuso horário definido, portanto, naturalmente, ele será diferente do registro de data e hora "real" no banco de dados MySQL.
Dar uma olhada em Inconsistências de tempo estranhas entre produção e desenvolvimento também.