如何找到在某个日期创建的所有记录(与今天或昨天等无关)
这是它的格式:irb(main):016:0> SourceNode.first.created_at
我想找到那些在 2013 年 7 月 1 日创建的:
=> Fri, 12 Jul 2013 01:15:48 UTC +00:00
irb(main):017:0> SourceNode.where("created_at = '2013-07-01'").count
=> 0
如何找到在某个日期创建的所有记录(与今天或昨天等无关)
这是它的格式:irb(main):016:0> SourceNode.first.created_at
我想找到那些在 2013 年 7 月 1 日创建的:
=> Fri, 12 Jul 2013 01:15:48 UTC +00:00
irb(main):017:0> SourceNode.where("created_at = '2013-07-01'").count
=> 0
如果它总是一个特定的日期,您可以截断日期进行比较。
SourceNode.where("date_trunc('day', created_at) = '2013-07-01'").count
资料来源:Postgres 出色的日期/时间文档。
据我所知,“created_at”是一个日期时间属性,所以它不会只等于一个日期。我认为你可以做的是比较该值是否在日期前 1 秒和之后 1 秒之间:
SourceNode.where("created_at > '2013-01-06 23:59:59' AND created_at < '2013-01-08 00:00:00'")
也许有更好的方法,但这在这里有效。
试试这个,应该可以
SourceNode.where(:created_at => DateTime.parse("2013-10-31").beginning_of_day..DateTime.parse("2013-10-31").end_of_day)