在时间段/时间X和时间Y之间查找对象

时间:2011-05-23 15:41:01

标签: java datetime date grails 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()方法丢失但我不知道在哪个类我可以找到这个方法。 也许有人知道我的用例/问题的可能解决方案?

/编辑/ 这也不起作用因为今天是null: Code http://img7.imagebanana.com/img/mracvfus/Bildschirmfoto20110605um11.32.57.png

感谢您的帮助! whitenexx

1 个答案:

答案 0 :(得分:1)

假设List events参数包含具有Date startTime属性的对象集合,则以下内容应该有效:

def getEventsToday(List events) {

  Date today = new Date().clearTime()

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