DataMapper查询 - 去年,上个月等

时间:2012-07-13 17:01:55

标签: sql ruby sinatra datamapper

我使用sinatra web框架和DataMapper。

我有代码:

@wdata = Data.all(:date => ((DateTime.now - @interval.to_i)..DateTime.now))

当我想要过去24小时的数据时,我使用@interval = 1,过去7天@interval = 7.

我应该如何从中获取数据上个月或去年?一个月可以有31,30,28或29天我想区分这个。我会...从去年6月,过去两个月获得数据等等。

我在网上搜索了一些教程,但我发现只有ActiveRecord。 :(

1 个答案:

答案 0 :(得分:0)

也许有更优雅的解决方案,但您可以手动执行此类范围

d = DateTime.today
p = d.prev_month
py = d.prev_year
last_month = Data.all(:date => (DateTime.new(p.year, p.month)..DateTime.new(d.year, d.month))
last_year = Data.all(:date => (DateTime.new(py.year)..DateTime.new(d.year))