【问题标题】:DataMapper query - last year, last month etcDataMapper 查询 - 去年、上个月等
【发布时间】:2012-07-13 13:44:51
【问题描述】:

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

【问题讨论】:

  • 今天给出的上个月是 14/7/2012?是 1/6/2012-30/6/2012 还是 13/6/2012-14/7/2012?

标签: sql ruby sinatra datamapper


【解决方案1】:

也许有更优雅的解决方案,但你可以手动完成这样的范围

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))

【讨论】:

    猜你喜欢
    • 2011-09-11
    • 1970-01-01
    • 2021-12-17
    • 1970-01-01
    • 2011-08-17
    • 2017-12-13
    • 2011-12-28
    • 1970-01-01
    • 2013-05-07
    相关资源
    最近更新 更多