Я работаю с Time in Rails и использую следующий код для установки даты начала и окончания проекта:
start_date ||= Time.now
end_date = start_date + goal_months.months
Затем я клонирую объект и пишу тесты rspec, чтобы подтвердить соответствие атрибутов в копии. Дата окончания матча:
original[end_date]: 2011-08-24 18:24:53 UTC
clone[end_date]: 2011-08-24 18:24:53 UTC
но спецификация выдает мне ошибку в даты начала:
expected: Wed Aug 24 18:24:53 UTC 2011,
got: Wed, 24 Aug 2011 18:24:53 UTC +00:00 (using ==)
Понятно, что даты одинаковы, просто отформатированы по-разному. Как получается, что они по-разному хранятся в базе данных, и как мне их сопоставить? Я пробовал это с DateTime также с теми же результатами.
Исправление: Конечные даты также не совпадают. Они распечатывают то же самое, но и ошибки rspec на них. Когда я печатаю дату начала и дату окончания, значения выходят в разных форматах:
start date: 2010-08-24T19:00:24+00:00
end date: 2011-08-24 19:00:24 UTC