демон времени rails в моей машине… он ест 2 часа, все проверил!
-
05-07-2019 - |
Вопрос
Я проверил свое окружение.rb
config.time_zone = 'Prague'
В development.rb ничего нет о времени
Теоретически это, кажется, работает...
Time.zone.now # Thu, 10 Sep 2009 17:51:35 CEST +02:00
тоже правильно...
Time.now # Thu Sep 10 17:52:10 +0200 2009
mysql... SELECT NOW() # 2009-09-10 17:53:48
правильно!
но когда я создаю новую запись в rails или обновляю старую
Item.create(:price => price, :spots => beds) # 2009-09-10 15:55:28
и перезапускали rails много-много раз!
Решение
Похоже, что он сохраняет его по UTC (GMT time), что на два часа раньше вашего местного времени.В значительной степени время создания лучше хранить в UTC --> затем вы переводите их при просмотре.
Редактировать:В Класс временной метки кажется, это указывает на то, что предполагается использовать локальную временную метку.Возможно, вы захотите проверить настройку, указанную в документации.
Другие советы
Сколько времени пройдет, если вы выберете эту запись через консоль?15:55 или 17:55?
Если вы выберете через консоль, он использует установленный часовой пояс, поэтому, естественно, он будет отличаться от "реальной" временной метки в базе данных mysql.
Взгляните на Странные временные несоответствия между производством и разработкой также.