我试图在 future 2 周内找到所有有生日的用户。
我尝试了以下方法:
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对于 mysql 函数
在 ruby
arr=[]
(0..13).each{|i| arr << (Date.today+i.day).day }
User.find(:all, :conditions => ["DAYOFYEAR(DOB) in (?)", arr])
关于ruby-on-rails - 如何在没有年份的情况下比较 rails 中的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7371130/