I have to use the Java Date class for this problem (it interfaces with something out of my control).
Date
How do I get the start and end date of a year and then
You can use Jodatime as shown in this thread Java Joda Time - Implement a Date range iterator
Also, you can use gregorian calendar and move one day at a time, as shown here. I need a cycle which iterates through dates interval
PS. Piece of advice: search it first.