【发布时间】:2011-10-10 15:26:36
【问题描述】:
我正在使用 Ruby on Rails 3,并且我有一个“访问”模型,它存储了 check_in 和 check_out 日期时间,我需要在一般日期范围内搜索访问并计算按所有人分组的“访问者”数量一天中的几个小时。
...即我需要类似的东西:
上午 8:00 - 上午 8:59:12 名访客 上午 9:00 - 上午 9:59:5 名访客 上午 10:00 - 上午 10:59 : 4 位访客...给定一个存储了入住和退房时间的访问表。
我们的想法是记录“访问”的入住和退房时间,然后确定在一天中的任何给定时间有多少访问者(假设每次访问记录一个访问者,根据政策这样做)为了找出高峰访问时间。
我尝试设置如下查询:
eight_am_visits = Visit.where("EXTRACT(HOUR_MINUTE FROM check_in) <= 859").where("EXTRACT(HOUR_MINUTE FROM check_out) >= 800")
...并且还没有完全成功,因为 Rails 以一种奇怪的方式存储日期(在 UTC 中,它将在数据库查询中转换)并且当我使用某些东西时它似乎没有进行这种转换就像 SQL 中的 EXTRACT...
...知道我该怎么做吗?
【问题讨论】:
标签: ruby-on-rails ruby range date-range hour