在红宝石中将时间延迟24小时,持续30天

时间:2012-03-29 09:24:08

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1

我正在使用ruby gem开发google analytics API。它接受参数并生成结果,我从七个指标中获取数据。它接受开始时间和结束时间,并根据我们通过的时间生成数据。

以下是

的样本
Visits.results(pro1, {:start_date => Time.now - 86400, :end_date => Time.now})

这给了我过去24小时的总访问次数。

我的要求有点复杂。还有其他几个指标。我需要从过去30天的谷歌分析中获取数据。假设我今天采取转储它应该得到我前30天的数据。像28th 27th 26th 25th ....获取2012年3月28日00:00:00至2012年3月28日59:59:59,2012年3月27日00:00:00至2012年3月27日59:59:59的数据......我必须努力在2-3天内实现这个目标。我是红宝石的新手。请帮助我。在过去的30天里,我需要从谷歌分析中获取24小时的数据。

2 个答案:

答案 0 :(得分:1)

如果您想要个人日的结果

results = []
30.downto(1) do |n|
  results << Visits.results(pro1, {:start_date => Date.today - n.days, :end_date => Date.today - (n-1).days})
end

或者如果您想要一次性使用

Visits.results(pro1, {:start_date => Date.today - 30.days, :end_date => Date.today})

如果您想今天也包括在内,请将结束日期设为Date.tomorrow

答案 1 :(得分:0)

尝试

Visits.results(pro1, {:start_date => Date.today.last_month , :end_date => Date.today})