【发布时间】:2014-04-21 05:25:29
【问题描述】:
我正在编写一个 Rails 应用程序,它允许用户输入他们完成任务的时间。
我将时间存储为 Time 对象,我需要一种方法来获取用户完成任务的平均时间。
我怎样才能做到这一点?
我对Малъ Скрылевъ的回答的尝试
@deliveries = Delivery.all
times = Array.new
@deliveries.each do |d|
times.push(d.time)
end
puts times # gives me [2000-01-01 06:15:00 UTC, 2000-01-01 07:18:00 UTC]
unless times.empty?
@avg = Time.at(times.map(&:to_i).reduce(:+) / times.size)
end
puts @avg #gives me 1999-12-31 23:46:30 -0700
【问题讨论】:
-
你有一个时间数组?
-
@RSB 基本上是的。我有一个时间对象数据库。我可以很容易地得到一个。
-
@RSB 我认为这是不同的。我的是真正的红宝石时间对象