ruby-on-rails – 如何在没有年份的情况下比较铁路中的日期?

我想在接下来的两周内找到所有生日用户.

我尝试了以下方法:

User.find(:all, :conditions => ["DOB > ? and DOB <= ?", Date.today, 2.weeks.from_now])

这显然不起作用,因为DOB中的“年份”不等于今年.

我只需要比较几个月和几天.

我该怎么做呢?

最佳答案 你必须在你的dob列上执行mysql方法

跟随之类的事情

  SELECT FROM users  
         WHERE DAYOFYEAR(dob)in (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)

您可以使用像WEEK这样的函数,以适用于您的Ref this for mysql函数

在ruby

arr=[]
(0..13).each{|i| arr << (Date.today+i.day).day }
User.find(:all, :conditions => ["DAYOFYEAR(DOB) in (?)", arr])
点赞