关于java:Groovy / Grails – Jollyday CalenderUtil – 没有方法签名

Groovy/Grails - Jollyday CalenderUtil - No signature of method

我的项目有点问题:

URI
/TimeKeeper/calendar/show

Class
groovy.lang.MissingMethodException

Message
No signature of method: static de.jollyday.util.CalendarUtil.create() is applicable for argument types: (java.util.GregorianCalendar) values:
[java.util.GregorianCalendar[time=1406897280000,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Europe/Berlin",offset=3600000,dstSavings=3600000,useDaylight=true,transitions=143,lastRule=java.util.SimpleTimeZone[id=Europe/Berlin,offset=3600000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=2,startMonth=2,startDay=-1,startDayOfWeek=1,startTime=3600000,startTimeMode=2,endMode=2,endMonth=9,endDay=-1,endDayOfWeek=1,endTime=3600000,endTimeMode=2]],firstDayOfWeek=2,minimalDaysInFirstWeek=4,ERA=1,YEAR=2014,MONTH=7,WEEK_OF_YEAR=31,WEEK_OF_MONTH=0,DAY_OF_MONTH=1,DAY_OF_YEAR=213,DAY_OF_WEEK=6,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=2,HOUR_OF_DAY=14,MINUTE=48,SECOND=0,MILLISECOND=0,ZONE_OFFSET=3600000,DST_OFFSET=3600000]] Possible solutions: create(), create(java.util.Calendar), create(int, de.jollyday.config.Fixed), create(int, int, int), create(int, int, int, org.joda.time.Chronology), grep()

这就是我的代码,在这里抛出异常:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import static java.util.Calendar.*
import de.jollyday.*
import de.jollyday.util.*

class DayReport {
    def day
    def records

    def getHolidayName() {
        def m = HolidayManager.getInstance(HolidayCalendar.GERMANY)
        def holidays = m.getHolidays(day.get(YEAR), 'nw')
        holidays.find {
            CalendarUtil.create(day) == it.date
        }?.description
    }

    def isHoliday() {
        def m = HolidayManager.getInstance(HolidayCalendar.GERMANY)

        def create = CalendarUtil.create(day)
        println"DayReport isHoliday: ${create.getClass()}"
        m.isHoliday(create, 'nw')
    }

...

有人能告诉我怎么了吗?

谢谢:)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
def getHolidayName() {
    def m = HolidayManager.getInstance(HolidayCalendar.GERMANY)
    def holidays = m.getHolidays(day.get(YEAR), 'nw')
    holidays.find {
        new LocalDate(day.getTime()) == new LocalDate(it.date)
    }?.description
}

def isHoliday() {
    def m = HolidayManager.getInstance(HolidayCalendar.GERMANY)
    def localDate = new LocalDate(day.getTime())
    println"localDate:" + localDate
    m.isHoliday(localDate, 'nw')
}

这就是解决办法