2011-02-24 56 views
0

@a =一個日期
@b =今天的日期
在我的項目我想確認@b是不是從@a超過1天。
意味着當用戶註冊的@a他想1個day.How內激活他的帳戶使用that..Am Ruby on Rails的2.3.8Ruby on Rails的日期checking..help請

NB,我們可以這樣做:向我如果u沒有得到我的問題

回答

3
def not_long_ago?(date) 
    ((DateTime.now - 1.day)..DateTime.now) === date 
end 

或只是

def not_long_ago?(date) 
    date >= DateTime.now - 1.day 
end 

和最好的一個(軌道的方式,我覺得)

def not_long_ago?(date) 
    date >= 1.day.ago 
end 
1

您可以使用此功能來檢查日期是今天一天的日期內:

def within_a_day? date 
    Date.today-1.day <= date && date <= Date.today+1.day 
end 
+0

哇......太fast.Thanks很多關於您的快速回復。 – shajin 2011-02-24 17:30:54

+0

剛剛意識到你想要+/-整整一天,所以我添加了<=而不是<,因爲<只會匹配當前日期。 – 2011-02-24 17:49:37

+0

@ Pan-thomakos k再次感謝..從哪裏我可以學習這些紅寶石運營商..其實我不知道這些類型的運營商(<= , <=>等) – shajin 2011-02-24 18:00:20

2
if (date_in_question < 1.day.ago) 
    # allow signup 
else 
    # don't allow signup 
end