Grails Orm,如何无时间搜索日期



我正在使用postrges db。我的域有一个日期字段:

java.util.Date requestedDate;

我试图按照控制器的日期搜索:

eq ("requestedDate", requestedDate)

这可以正常工作,但是问题在于,日期和时间必须完全匹配。但是在应用程序中,用户将仅输入搜索项目的日期(例如,给我2014-02-05的所有请求,浏览器应用程序将为当前时间添加当前时间)。因此,比较失败了,因为用户输入时间与请求创建期间的时间不同。我尝试了'like',但会引发错误。

如何仅比较日期部分?

您可以做这样的事情:

Date now = new Date()
now.clearTime()
def results = Meeting.withCriteria {
    between('date', now, now+1)
}

因此,这从当前日期的时间部分中剥离,然后在查询之间进行"(24小时午夜和午夜之间)。

仍然看来没有方便的方法可以实现这一点。您需要通过计算一天的开始和一天结束并在操作员之间使用小弯路。

编辑我刚刚看到RCGEORGE23为您提供了这样做的正确示例。

最新更新