rails démon temps dans ma machine & # 8230; ça mange 2 heures ont tout vérifié!
-
05-07-2019 - |
Question
J'ai vérifié mon environnement.rb
config.time_zone = 'Prague'
Rien dans development.rb en ce qui concerne le temps
Cela semble fonctionner, en théorie ...
Time.zone.now # Thu, 10 Sep 2009 17:51:35 CEST +02:00
corrigez également ...
Time.now # Thu Sep 10 17:52:10 +0200 2009
mysql... SELECT NOW() # 2009-09-10 17:53:48
correct!
mais lorsque je crée un nouvel enregistrement dans des rails ou que je mets à jour un ancien
Item.create(:price => price, :spots => beds) # 2009-09-10 15:55:28
et avez redémarré les rails plusieurs fois!
La solution
On dirait qu'il est en train de l'enregistrer au format UTC (heure GMT), ce qui est deux heures plus tôt que votre heure locale. Dans une large mesure, les temps de création sont mieux stockés en UTC - > vous les traduisez ensuite lors de la visualisation.
EDIT: La La classe d'horodatage semble indiquer que l'horodatage local est censé être utilisé. Vous pouvez vérifier le paramétrage indiqué par la documentation.
Autres conseils
Quelle heure est-il si vous sélectionnez cet enregistrement via la console? 15h55 ou 17h55?
Si vous sélectionnez via la console, il utilise le fuseau horaire défini. Il sera donc naturellement différent du " real " horodatage dans la base de données mysql.
Jetez un coup d’œil à Incohérences temporelles étranges entre la production et le développement aussi.