1

私はsinatraWebフレームワークとDataMapperを使用しています。

私はコードを持っています:

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

過去24時間のデータが必要な場合は、@interval = 1、過去7日間の@interval=7を使用します。

たとえば、先月または昨年のデータをどのように取得する必要がありますか?月は31、30、28、または29日になる可能性があります。これを区別したいと思います。たとえば、昨年の6月、過去2か月などからデータを取得します。

Webでチュートリアルを検索しましたが、ActiveRecordしか見つかりませんでした。:(

4

1 に答える 1

0

Perhaps there is more elegant solution, but you can do such ranges manually

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))
于 2012-07-27T23:52:25.173 に答える