You need to use the get day, get month, and get year stuff ( and set). This is done with a generic getField and setField where you have to pass in the DAY or MONTH or YEAR ints found in the Calander class. You can use the getMaxValue and enter month to get the maximum number of days in a month. There is no fast way of doing it that I found. I needed a while loop to deal with days and months, because months suck, but the years were fairly streightforward.