繁体   English   中英

grails ORM,如何在没有时间的情况下搜索日期

[英]grails ORM , how to search Date without time

我正在使用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小时后的午夜)。

仍然看起来没有方便的方法来实现这一点。 您需要通过计算当天的开始和一天结束来进行小型绕行,并使用Between运算符。

编辑我刚刚看到rcgeorge23为你提供了正确的例子。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM