代码之家  ›  专栏  ›  技术社区  ›  Trip

datetime比较中时间的RoR正确语法

  •  0
  • Trip  · 技术社区  · 15 年前

    .to_date 以产生适当的比较

    Organization.find(1140).events.all(:conditions => ["time < ?", Time.now.beginning_of_day]).blank?
    

    我该怎么做?我试过这个:

    Organization.find(1140).events.all(:conditions => [time.to_date < ?, Time.now.beginning_of_day]).blank?
    

    这是一个巨大的失败:D

    1 回复  |  直到 15 年前
        1
  •  1
  •   jigfox    15 年前

    你可以这样做:

    Organization.find(1140).events.all(:conditions => ["DATE(time) < ?", Date.today]).blank?
    

    DATE() 是一个mysql函数,用于将给定的值解析为Date格式。如果你想比较日期,你应该用 Date.today Time.now.beginning_of_day ,它要短得多,可读性更强。