Rails 3, сравнивая только даты двух столбцов datetime в rails - PullRequest
5 голосов
/ 22 января 2011

Допустим, я хочу сравнить даты только двух столбцов даты и времени в одной записи. Поэтому я не хочу, чтобы время смотрело на.

* 1003 Т.е. *

просматриваемая дата и updated_at (я добавил просматриваемая дата) - это два формата даты и времени, но я только хочу увидеть, произошли ли они в один и тот же день или в разные дни. Проблема с datetime заключается в том, что он сравнивает время, которое для меня сейчас слишком специфично.

Спасибо

-Elliot

Ответы [ 2 ]

6 голосов
/ 22 января 2011

Объявите новый атрибут, который содержит только дату:

class WhateverModel < ActiveRecord::Base
  ...
  def viewed_date_only
    viewed_date.to_date
  end
end

Используйте это для сравнения в контроллере или где-либо еще.

0 голосов
/ 06 апреля 2015

Вы можете сравнивать только дату объекта, не сравнивая время следующим образом: - start_date: - "2015-04-06 15:31:43 +0530" end_date: - "2015-04-16 15:31:43 +0530"post_review.all.where (" (созданный_кат :: дата> =: начальная_дата) И (созданный_кат :: дата <=: конечная_дата) ", начальная_дата: начальная_дата.strftime ("% Y-% м-% d "), конечная_дата: end_date.strftime ("% Y-% m-% d")) </p>

Выше запроса получите все записи, сделанные с 6 по 16 апреля

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...