Java 查找时间X和时间Y之间的周期/对象

Java 查找时间X和时间Y之间的周期/对象,java,datetime,date,grails,groovy,Java,Datetime,Date,Grails,Groovy,我正在用groovy和grails编写一个小事件日历,我只想显示今天的事件 def getEventsToday(List events) { List eventsToday; Date todayEvening = dateDefault(null, null, null, 23, 59, 59); Date todayMorning = dateDefault(null, null, null, 0, 0, 0); eventsToday = events.ByStartTimeBetwe

我正在用groovy和grails编写一个小事件日历,我只想显示今天的事件

def getEventsToday(List events) {
List eventsToday;
Date todayEvening = dateDefault(null, null, null, 23, 59, 59);
Date todayMorning = dateDefault(null, null, null, 0, 0, 0);
eventsToday = events.ByStartTimeBetween(todayEvening, todayMorning);
return eventsToday;
}
我得到以下例外情况:

 groovy.lang.MissingMethodException: No signature of method: EventController.dateDefault() is applicable for argument types: (null, null, null, java.lang.Integer, java.lang.Integer, java.lang.Integer) values: [null, null, null, 23, 59, 59]
我认为dateDefault()方法缺失,但我不知道在哪个类中可以找到这个方法。 也许有人知道我的用例/问题的可能解决方案

/编辑/ 这也不起作用,因为今天为空:

谢谢你的帮助!
whitenexx

假设
列表事件
参数包含具有
日期开始时间
属性的对象集合,则以下操作应有效:

def getEventsToday(List events) {

  Date today = new Date().clearTime()

  events.findAll {event ->
    event.clearTime() == today
  }    
}

不确定dateDefault是从哪里来的,它不是控制器上的标准grails方法。您必须在EventController上定义dateDefault方法/闭包,它才能工作(我假设它是创建日期的方便方法)。顺便说一句,我建议使用Joda time(有一个grails插件)来处理日期和时间,它比使用java.util.date痛苦得多。下面的“clearTime()”方法也不起作用。这不起作用:(它返回包含明天事件的旧事件列表)。