2011-01-22 14 views
5

Digamos que quiero comparar las fechas solo de dos columnas datetime dentro de 1 registro. Así que no quiero que se mire el tiempo.Rails 3, comparando solo las fechas de dos columnas datetime en rieles

I.e.

viewed_date, y updated_at (agregué viewed_date) son dos formatos de fecha y hora, pero solo quiero ver si ocurrieron en el mismo día o días separados. El problema con datetime es que está comparando los tiempos, lo cual es demasiado específico para mí en este momento.

Gracias

-Elliot

Respuesta

7

declarar un nuevo atributo que contiene sólo la fecha:

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

uso que para su comparación en el controlador o donde sea.

0

Puede comparar única fecha del objeto sin comparar el tiempo de esta manera: - fecha_inicial: - "06/04/2015 15:31:43 0530" fecha_final: - "16/04/2015 15:31: 43 +0530 " post_review.all.where (" (created_at :: date> =: start_date) AND (created_at :: date < =: end_date) ", start_date: start_date.strftime ("% Y-% m-% d "), fecha_final: end_date.strftime (" % Y-% m-% d "))

Por encima de consulta obtener toda registro realizado betwwen abril 6 a 16

Cuestiones relacionadas