У нас очень простая модель платежей с полем даты и времени по умолчанию «create_at», который мы должны искать в диапазоне дат, поэтому я сделал это:
>> Payment.all(:conditions =>
["Date(payments.created_at) >= ? and
Date(payments.created_at) <= ?", start_date, end_date])
У меня проблема с датойфункция.Например,
>> Payment.find(2577).created_at
=> Thu, 15 Dec 2011 18:15:00 UTC +00:00
Но
>> Payment.find(2577).created_at.localtime
=> Fri Dec 16 01:15:00 +0700 2011
Поэтому, когда мы ищем платежи 16 декабря, мы не получаем никаких результатов, так как Date (payment.created_at) конвертирует время UTC в датукоторый преобразуется в 15 декабря.
Можно ли изменить Date (payment.created_at), чтобы вместо этого он искал даты в местном часовом поясе?Мы используем Rails 2.3.5 и postgresql.