Ruby on rails Rails、ActiveRecord和日期

Ruby on rails Rails、ActiveRecord和日期,ruby-on-rails,date,activerecord,Ruby On Rails,Date,Activerecord,也许是个愚蠢的问题,但它现在让我发疯。 为什么 及 给我一个不同的结果 我知道如果没有时间,一天的开始和结束都应该是午夜。这就是我想要的,但出于一些模糊的原因,它显示了0,但我在10分钟前创建了2个用户 以下答案可能会对您有所帮助。 针对您的问题,我在这里复制并重写了上述链接中的答案: 问题是2011-01-31实际上是2012-11-07 00:00:00。就是 一天的开始。白天的一切都不包括在内 因此,当您没有添加时间时,您在10分钟前添加的条目显然会被跳过 谢谢,现在我利用时间。现在。开

也许是个愚蠢的问题,但它现在让我发疯。 为什么

给我一个不同的结果


我知道如果没有时间,一天的开始和结束都应该是午夜。这就是我想要的,但出于一些模糊的原因,它显示了0,但我在10分钟前创建了2个用户

以下答案可能会对您有所帮助。

针对您的问题,我在这里复制并重写了上述链接中的答案:

问题是2011-01-31实际上是2012-11-07 00:00:00。就是 一天的开始。白天的一切都不包括在内


因此,当您没有添加时间时,您在10分钟前添加的条目显然会被跳过

谢谢,现在我利用时间。现在。开始一天的工作等等。。。没有将其转换为日期:),因此我的结果是准确的。
 User.where(:created_at => 1.day.ago..Time.now).count
   (0.8ms)  SELECT COUNT(*) FROM "users" WHERE ("users"."created_at" BETWEEN '2012-11-06 17:58:22.443552' AND '2012-11-07 17:58:22.443809')
 => 2 
 User.where(:created_at => 1.day.ago.to_date..Time.now.to_date).count
   (0.6ms)  SELECT COUNT(*) FROM "users" WHERE ("users"."created_at" BETWEEN '2012-11-06' AND '2012-11-07')
 => 0