Grails - .withCriteria仅获取最近5分钟内创建的记录

时间:2016-04-01 11:50:08

标签: date grails criteria

我试图只获取最近5分钟内创建的记录。我发现使用between("date", now-1, now)的代码但在我的情况下不起作用,因为1表示一天,这意味着我必须写now-0.00347或{{1因为那是5分钟。问题在于,minus方法显然不能应用于除整数之外的任何数据类型。所以,如果有人知道更好的方法来获取最近5分钟创建的记录,请告诉我,我真的很感激。这就是我得到的:

now-(5/1440)

1 个答案:

答案 0 :(得分:2)

使用时间类别在Groovy中更轻松地进行日期操作。比如这个:

import groovy.time.*
import org.codehaus.groovy.runtime.TimeCategory

def now = new Date()
def beforeNow = now
use (TimeCategory) {
  beforeNow = now - 5.minutes
}
def activeUsers = User.withCriteria{
    def now = new Date()
    between("date", beforeNow, now)
}