tim*_*one 2 ruby ruby-on-rails ruby-on-rails-3.1
我有一个可以有活动的位置.我想要一个upcoming_events方法,但希望它向下舍入,如果有人在晚上10点看,它将显示今天的事件.我有这个:
def upcoming_events
d=Time.new
d.strftime("%m-%d-%Y")
l=Event.where('location_id=? and start_datetime>?',self.id, d)
end
Run Code Online (Sandbox Code Playgroud)
我得到正确的转换,但在d.strftime但查询是:
SELECT `events`.* FROM `events` WHERE (location_id=301 and start_datetime>'2012-06-20 02:49:23')
Run Code Online (Sandbox Code Playgroud)
任何想法如何让它做'2012-06-20'?
调用strftime在这里基本上没有任何意义,因为它不会d以任何方式改变对象.
不管怎么说,Rails提供方法beginning_of_day上DateTime(以及Date&Time),你想要做什么:
d = Time.now #=> 2012-06-19 23:05:54 -0400
d.beginning_of_day #=> 2012-06-19 00:00:00 -0400
Run Code Online (Sandbox Code Playgroud)
所以只需将代码更改为:
Event.where('location_id=? and start_datetime>?', self.id, d.beginning_of_day)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
935 次 |
| 最近记录: |