我需要编写一个范围(或方法)来根据一天中的时间查询事件 - 基本上我希望有" future"和"过去"事件 - 但是在凌晨5点开始的偏移。
用例是一家夜总会。凌晨1点,事件仍在继续,门卫仍然需要使用该事件,就好像它的来来往往一样。但到了早上5点,事件已经结束,业主现在想看看它是怎么回事。
我有这样的范围(日期是日期时间):
scope :future, -> { where("date >= ?", Date.today + 5.hours) }
scope :past, -> { where("date < ?", Date.today + 5.hours) }
但是,这不起作用。有没有人对我如何做到这一点有任何见解?
编辑:永远爱下来的人!我不知道如何更清楚地说明这一点。在活动日的凌晨5点,我希望活动落入过去的范围。非常简单的问题/问题。祝你有美好的一天。
答案 0 :(得分:0)
如果rails节省您在UTC的时间,您可能会遇到时区问题。您可以尝试Time.now.utc + 5.hours
。
答案 1 :(得分:0)