It seems to me that the date stuff in
java has been iffy in the past. A few years ago I mashed my C++ date stuff into Java and have been using that ever since. There might be some new stuff in the java libraries that will do what you want, but I'm not familiar with it.
If you like, I've made my libraries free. See
www.javaranch.com/common.jsp and look for the JDate and GDate stuff. Just convert your dates to JDate and these have comparators. Or, you could extract the int values and compare them.