我使用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。 :(
答案 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))