【发布时间】:2017-03-03 17:26:01
【问题描述】:
我有以下模型(我正在使用 ruby on rails):
# MealSetting model
# week_day:integer
# pick_up_start_time:datetime
# pick_up_end_time:datetime
我想检索在某个时间可用的所有餐点,如果pick_up_start_time <= current_hour 和
pick_up_end_time >= current_hour。
pick_up_start_time:datetime 和 pick_up_end_time:datetime 实际上是日期,但我只使用小时数。
我有这个问题,
MealSetting
.where('pick_up_start_time::time <= ? and pick_up_end_time::time >= ?',
Time.now.utc.strftime("%T"),
Time.now.utc.strftime("%T"))
但它不起作用,因为数据库中的日期存储在 utc 中。
【问题讨论】:
-
你在使用 mysql 吗?如果是,你介意试试:
.where('TIME(pick_up_start_time) <= TIME(?) and TIME(pick_up_end_time) >= TIME(?)', Time.now, Time.now) -
我正在使用 postgres
标签: sql ruby-on-rails postgresql activerecord