Я борюсь с поддержкой часового пояса в направляющих 3 беты, и я хотел бы знать, является ли это ошибка или если я делаю что-то не так. Он - проблема:
> Time.zone = 'Madrid' # it is GMT+2 => "Madrid" > c = Comment.new => #<Comment id: nil, title: "", pub_at: nil> > c.pub_at = Time.zone.parse('10:00:00') => Mon, 31 May 2010 10:00:00 CEST +02:00 > c.save > c => #<Comment id: 3, title: "", pub_at: "2010-05-31 08:00:00"> > c.reload => #<Comment id: 3, title: "", pub_at: "2010-05-31 08:00:00"> ruby-1.8.7-p249 > c.pub_at => Mon, 31 May 2010 13:00:00 CEST +02:00
Как Вы видите, атрибут pub_at хранится правильно в базе данных, но когда это получено, это добавляет 3 часа, и я подозреваю, что это - потому что это использует мой локальный часовой пояс машины, который находится в GMT-3.
Та же последовательность команд в направляющих 2.3.5 работы отлично.
Какие-либо мысли? Я должен сообщить о билете?
Если я хорошо помню, все даты хранятся в базе данных как UTC.
А rails и консоль обрабатывают даты не одинаково!
Так что вы должны попробовать проверить это в вашем приложении, установив часовой пояс в вашем application.rb
config.local_zone = 'Madrid'
А затем выведите значение! Вы должны увидеть правильное время.
Надеюсь, это поможет