Попробуйте это решение:
int day = 0; //user provided
int month = 0; //user provided
int year = 0; //user provided
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONDAY, month);
calendar.set(Calendar.DAY_OF_MONTH, day);
long millisUser = calendar.getTime().getTime();
long nowMillis = System.currentTimeMillis();
if(nowMillis < millisUser) {
...
}
Вышеуказано, есть ли дата в будущем.
Там нет ничего плохого в использовании java.util.Date
Вы можете использовать:
int day = 0; //user provided
int month = 0; //user provided
int year = 0; //user provided
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONDAY, month);
calendar.set(Calendar.DAY_OF_MONTH, day);
Date userSubmit = calendar.getTime();
Date now = new Date();
if(userSubmit.after(now)) {
...
}
Но если вы хотите свободно, простой и интуитивно понятный API с датами я рекомендую использовать JodaTime
возможно дубликат [Сравнение двух дат в Java] (HTTP: // StackOverflow.com/questions/3144387/compare-two-dates-in-java) – Andrew