在查找条件中比较日期时间

时间:2010-04-01 15:33:25

标签: ruby-on-rails datetime compare

我试图让所有在90秒前更新的用户最多:

User.find(:all, :include => { :core => :image }, 
      :conditions => ["updated_at > ?", Time.now - 90.seconds] )

但它不起作用。

为什么?

我该怎么办?

感谢

3 个答案:

答案 0 :(得分:2)

如果您将environment.rb中的config.time_zone设置为UTC以外的任何其他内容,则需要执行

User.find(:all, :include => { :core => :image }, 
      :conditions => ["updated_at > ?", Time.now.utc - 90.seconds] )

我将假设图像是一个名为core的关联属性?

答案 1 :(得分:0)

您是否需要指定users.updated_at

答案 2 :(得分:0)

可能是时区问题。尝试找出Time.now - 1.day,如果它可以工作,那么在应用程序控制器中设置你的Time.zone。

第二,你可以试试你的构造,如果它导致你的问题,不包括:include选项