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 the apache commons-lang project which has a DateUtils class.
They provide an iterator which you can give the Date object.
But I highly suggest using the Calendar class as suggested by the other answers.