ruby - 我如何计算一段时间内的项目?

标签 ruby datetime time

我的数据库中有这样的记录:

id | item_name | 2013-06-05T17:55:13+03:00 

我想按“每天的项目数”、“每小时的项目数”、“每 20 分钟的项目数”对它们进行分组。

实现它的最佳方式是什么?

最佳答案

简单的方法:

by_day = array.group_by{|a| a.datetime.to_date}
by_hour = array.group_by{|a| [a.datetime.to_date, a.datetime.hour]}
by_20_minutes = array.group_by{|a| [a.datetime.to_date, a.datetime.hour, a.datetime.minute/20]}

关于ruby - 我如何计算一段时间内的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16943384/

相关文章:

.net - DateTime.Add(TimeSpan) 性能与 DateTime.AddDays/Hours/etc* 方法

c# - 如何在 C# 中仅从 DateTime 序列化 Xml Date

php date->diff() 返回无意义的金额

ruby-on-rails - 在 Rails 2 项目上运行 rake 命令时出错

ruby-on-rails - 删除记录违反外键约束

ruby-on-rails - rails : Stack level too deep error

linux - 如何运行脚本取决于不同的停止时间

java - 如何使用java预定执行器服务在一天的特定时间运行java代码?

android - ACTION_TIME_CHANGED 或 ACTION_DATE_CHANGED,不能使它们工作

ruby - 如何在 ruby​​ (1.9) case 语句中对返回值进行多重赋值?