Java 查找时间X和时间Y之间的周期/对象
我正在用groovy和grails编写一个小事件日历,我只想显示今天的事件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
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()”方法也不起作用。这不起作用:(它返回包含明天事件的旧事件列表)。