2010-07-21 3 views
4

Как сравнить конкретную дату с сегодняшнего дня, чтобы узнать, больше ли данная ледичная дата, чем сегодня?сравнение даты в рубине

Thanks Harish.

+2

o_o. Достаточно разнообразный набор тегов, а? – Matchu

+1

Что вы попробовали? Почему это не сработало? –

ответ

3

Если вы используете объекты даты, вы просто сравниваете их, как ожидалось.

date1 > date2 
10
@date = "2010-07-20".to_date # 20th July 
@today=Date.today # 21st July 

if @date >= @today 
    puts "@date is greater than or equal to today's date" 
else 
    puts "@date is less than today's date" 
end 

O/P

@date is less than today's date 
+0

спасибо, чувак, я попробую его – harish

+0

Простой, как всегда, с рубином – Qwertie

4

date объект имеет future? и past? методы. Это лучший способ, о котором я могу думать.

0

Я бы лично сделать что-то вроде:

class Integer 
    def minutes 
    self * 60 
    end 
    def hours 
    self * 60.minutes 
    end 
    def days 
    self * 24.hours 
    end 
    def weeks 
    self * 7.days 
    end 
    def months #can probably be more accurate, but I'll just use 30.days 
    self * 30.days 
    end 
    def years 
    self * 12.months 
    def 
end 

Если бы мне пришлось решать много с Time с. Теперь вы можете сделать что-то вроде

t1 = Time.now 
t2 = t1 + 1.days 
puts "You're in the past~" if t1 < t2 

Я предполагаю, что это все, что делает Rails.

Смежные вопросы