【问题标题】:Compare the date only of a datetime to current date仅将日期时间的日期与当前日期进行比较
【发布时间】:2016-07-24 14:32:08
【问题描述】:

我的会议模型有一个名为 meeting_date 的 dateTime 字段。我想以如下方式在 .where(...) 查询中使用它:

<% @meetings = Meeting.where(meeting_date.to_date == Date.today.to_s %>

如何做到这一点?

【问题讨论】:

    标签: ruby-on-rails ruby sqlite ruby-on-rails-4 activerecord


    【解决方案1】:

    您可以使用数据库系统的 CAST 方法:

    Meeting.where('CAST(meeting_date AS DATE) = ?', Date.current)
    

    或者最终:

    Meeting.where(meeting_date: Date.current.beginning_of_day..Date.current.end_of_day)
    

    获取会议日期在今天 00:00:00 和今天 23:59:59 之间的所有会议

    【讨论】:

    • 第二段代码成功了,非常感谢!我会在允许时接受。
    • 也可以写:Meeting.where(meeting_date: Time.current.all_day)
    【解决方案2】:

    你应该这样做:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-15
      • 2015-09-01
      • 1970-01-01
      • 2014-05-03
      • 1970-01-01
      • 1970-01-01
      • 2019-09-26
      • 1970-01-01
      相关资源
      最近更新 更多