我正在使用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为您提供了这样做的正确示例。