gpt4 book ai didi

activerecord - Rails ActiveRecord 按日期查找/搜索

转载 作者:行者123 更新时间:2023-12-04 04:25:06 27 4
gpt4 key购买 nike

我正在尝试按“created_at”日期查找记录 - 数据库列类型为“日期时间”并且
我正在使用来自 jQuery 的 UI DatePicker

我的网址如下所示:“localhost:3000/users_supported?selected_date=2012-10-31”

到目前为止我做得很好:) 我在 Controller 中的查询如下所示:

@support_histories = current_agent.support_histories.where(:created_at => Date.parse(params[:selected_date]))

如何仅从“日期时间”数据库列中按“日期”正确提取记录

我尝试在 Rails 控制台中执行此操作,但没有运气:
sh = SupportHistory.where(:created_at => DateTime.parse('2012-10-31'))
sh = SupportHistory.where(:created_at => Date.parse('2012-10-31'))
sh = SupportHistory.where(:created_at => DateTime.strptime('2012-10-31', '%Y-%m-%d'))

如果我确实像下面提到的那样,我会得到记录,但这对我没有用,因为我试图按“日期”而不是“日期时间”来查找记录
sh = SupportHistory.where(:created_at => '2012-10-31 19:49:57')

最佳答案

selected_date = Date.parse(params[:selected_date])
# This will look for records on the given date between 00:00:00 and 23:59:59
sh = SupportHistory.where(
:created_at => selected_date.beginning_of_day..selected_date.end_of_day)

时区可能是您需要考虑的问题,但如果您的所有时间都在同一个时区,这应该可以工作。

关于activerecord - Rails ActiveRecord 按日期查找/搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13211916/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com