Rails比较日期
我有一个数据模型,其中包含DateTime属性,日期。我想知道那天是否是今天。我有一段时间!Rails比较日期
>> Deal.first.date
=> Mon, 14 Dec 2009 23:59:59 EST -05:00
我已经尝试了很多技术,我会很尴尬地把它们放在这里。所以我会问,我需要在ActiveRecord查找方法中匹配这个日期?
谢谢, 亚伦。
我在猜测时区正在驾驶着你。
对于一个具体的例子,你可以这样做:
model.date.today?
对于一个ActiveRecord发现,试试这个:
Deal.all(:conditions=>['date > ?',Time.zone.now.beginning_of_day])
这里的问题:
这个工作,无论是否插入zone方法。的whooo! 我不认为该区域设置是问题,但: Time.zone.now.beginning_of_day == Date.today.beginning_of_day =>真 – 2009-12-14 23:55:17
你值得拥有一枚此。 Date.today应该是非法的;从所有文档中删除。 – Dogweather 2012-09-11 21:29:50
我会像这样的东西去:
Deal.find(:first, :conditions => ['date >= ? AND date < ?', Date.today, Date.today+1])
我已经试过了;查询返回nil。 – 2009-12-14 23:47:23
我认为这应该工作,不知道这是否会虽然,因为我没有测试它。
Deal.first(:condition => { :date => Date.today })
恐怕不行;返回零。 – 2009-12-14 23:49:02
糟糕,它应该是':conditions',而不是':condition'。你也可以试试这个: Deal.first(:conditions => {:date =>(Date.today)..(Date.today + 1)}) – henrikhodne 2009-12-15 00:07:41
[我刚才的问题(HTTP://计算器.com/questions/1820677/what-is-best-way-to-query-a-datetime-field-against-date-fields)可以帮助你。 – jpemberthy 2009-12-14 22:14:35