демон времени rails в моей машине… он ест 2 часа, все проверил!

StackOverflow https://stackoverflow.com/questions/1406156

Вопрос

Я проверил свое окружение.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.

Взгляните на Странные временные несоответствия между производством и разработкой также.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top