У меня есть модель пользователя и модель друга. Я пытаюсь отследить, когда в последний раз пользователь связывался с другом. У меня есть демон, который собирает эту информацию и сохраняет ее с помощью:
friend.last_contact = Time.parse(status.created_at) #this is where I go wrong
friend.save
Я получаю эту информацию из твиттера, который сообщает в формате UTC в формате:
"Thu Jan 05 23:29:00 +0000 2012"
Когда я вхожу в консоль рельсов и выполняю эти команды, дата корректно сохраняется как UTC с временем UTC. Однако, когда я собираю эту информацию с помощью демона, она сохраняет ее в базе данных с UTC, но с местным временем ..., что делает его выходным на 4 часа ... Я запускаю своего демона с помощью бегунка рельсов, поэтому я считаю, что активная поддержка все должно быть в порядке. Я не могу на всю жизнь понять, что происходит не так ..
С моего сервера rails console какой-то вывод:
1.9.1 :001 > Time.now
=> 2012-01-10 00:40:37 +0400
1.9.1 :002 > Time.zone.now
=> Mon, 09 Jan 2012 20:40:56 UTC +00:00
Это отметка времени, сохраненная при получении сообщения 20 минут назад:
1.9.1 :009 > b.last_contact
=> Tue, 10 Jan 2012 00:27:20 UTC +00:00
Вы заметите, что это «Time.now» сервера ... но сохранено как UTC ... Что меня беспокоит, так это то, что я захожу в консоль rails и набираю:
> friend.last_contact = Time.now ; friend.save
или
> friend.last_contact = Time.zone.now ; friend.save
Я выхожу в нужное время ...... любая помощь приветствуется.