将日期时间的日期与当前日期进行比较

Yok*_*lan 3 ruby sqlite activerecord ruby-on-rails ruby-on-rails-4

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

<% @meetings = Meeting.where(meeting_date.to_date == Date.today.to_s %>
Run Code Online (Sandbox Code Playgroud)

怎么能实现这一目标?

MrY*_*iji 5

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

Meeting.where('CAST(meeting_date AS DATE) = ?', Date.current)
Run Code Online (Sandbox Code Playgroud)

或者最终:

Meeting.where(meeting_date: Date.current.beginning_of_day..Date.current.end_of_day)
Run Code Online (Sandbox Code Playgroud)

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

  • 你也可以写:`Meeting.where(meeting_date:Time.current.all_day)` (2认同)