我有两个模型
OfficeTimeing < ActiveRecord::Base
belongs_to :office
end
Office < ActiveRecord::Base
has_many :office_timings
end
有两个字段opening_time和closeing_time,这些字段的字符串值为“ 09:00 AM”,我想查询如何查找当前想要的办公室。
Office.joins(:office_timings).where("Datetime.now > office_timings.opening_time AND office_timings.closing_time > DateTime.now")
我不知道如何比较两次以字符串表示的时间,而又不能首先在轨道中解析它们,但是,您是否考虑过以秒(从午夜开始算起)而不是字符串来存储打开和关闭时间?这样,您就可以轻松地编写此查询。
更新:一些有用的方法来实现这一目标。
要获取特定时间以来午夜的当前秒数,请执行以下操作:
seconds = specific_time.seconds_since_midnight
要将自午夜起的秒数转换为时间对象:
time_instance = Time.at(seconds)
产生形式为09:00 AM的字符串
time_instance.strftime("%I:%M %p")
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句