【发布时间】:2010-10-20 01:09:28
【问题描述】:
所以目前我遇到了一个问题,我通过客户端的 API 从 xml 文件填充数据库。每条记录都有一个过期日期,格式如下:
<offer_ends_at>2010-10-20T07:59:59-04:00</offer_ends_at>
现在,我需要运行一个查询,只获取将来会过期的记录。我当前的代码是:
@deals = Deal.where(["city = :city AND status = 'live' AND DATETIME(date_expires) >= DATETIME(:time)", { :city => @city.id, :time => Time.now }])
当我制作唱片时,我会使用这个:
@deal.date_expires = DateTime.parse((entry/"offer_ends_at").inner_html)
这就是我获取日期时间并对其进行格式化的方式。
这是我所在的位置:
- 我似乎无法毫无问题地直接进入数据库的日期。如果我使用上面的代码并将架构设置为列类型:datetime 或:time,它会给出 2000-01-01 的日期并且没有有效时间。它实际上并没有像给出的那样设置实际日期。
- 我将列类型转换为 :string 并尝试使用它。现在我可以正确输入日期(它是一个字符串),但同时我无法让上面的查询工作。
我只需要确保我只显示未过期的记录。在网上搜索了两天并且没有有效的答案后,我决定在这里问。在此先感谢:)
【问题讨论】:
标签: ruby-on-rails sqlite postgresql activerecord