Проблема с датами в Postgresql и Rails - PullRequest
1 голос
/ 07 марта 2011

Я хочу сделать следующее: Найти все статьи, где Time.now находится между article.due_date и article.due_date - 8.hours.У меня много проблем, пытаясь понять это правильно.Любая помощь будет высоко ценится.

Спасибо!

1 Ответ

1 голос
/ 07 марта 2011

Кто сказал, что алгебра ничего не стоит?

Два условия, которые вы указали в своем вопросе.

T <= DUE
T >= DUE - 8h

То же, что эти два условия.

DUE >= T
DUE <= T + 8h    

Теперь вы можете применить это к запросу и / или области, не прибегая к гимнастике даты и времени в вашей базе данных.

named_scope :near_due, lambda {{ :conditions => ["due_date >= ? AND due_date <= ?", Time.now, Time.now + 8.hours] }}
...