Date Grails-.withCriteria仅获取在过去5分钟内创建的记录

Date Grails-.withCriteria仅获取在过去5分钟内创建的记录,date,grails,criteria,Date,Grails,Criteria,我正在尝试只获取在过去5分钟内创建的记录。我发现代码使用了介于(“date”,now-1,now)之间,但在我的例子中不起作用,因为1代表一天,这意味着我必须写now-0.00347或now-(5/1440)因为这就是5分钟。问题是,减号方法显然不能应用于除整数以外的任何数据类型。因此,如果有人知道在过去5分钟内创建记录的更好方法,请告诉我,我将非常感谢。以下是我得到的: def activeUsers = User.withCriteria{ def now = new Date()

我正在尝试只获取在过去5分钟内创建的记录。我发现代码使用了
介于(“date”,now-1,now)
之间,但在我的例子中不起作用,因为
1
代表一天,这意味着我必须写
now-0.00347
now-(5/1440)
因为这就是5分钟。问题是,减号方法显然不能应用于除整数以外的任何数据类型。因此,如果有人知道在过去5分钟内创建记录的更好方法,请告诉我,我将非常感谢。以下是我得到的:

def activeUsers = User.withCriteria{
    def now = new Date()
    between("date", now-(5/1440), now    
}

在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)
}

在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)
}