سلام، با Joda خیلی راحت میشه اینکارو کرد :
import org.joda.time.Instant;
import org.joda.time.Interval;
import org.joda.time.Period;
import java.util.Calendar;
/**
* @author avb
*/
public class Test {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
calendar.set(2014, Calendar.JANUARY, 1, 10, 10, 10);
Instant oldDate = new Instant(calendar.getTimeInMillis());
Instant now = new Instant();
int diff = now.compareTo(oldDate);
if (diff == -1) {
System.out.println("old date > now !!!");
} else {
Interval interval = new Interval(oldDate, now);
Period period = interval.toPeriod();
System.out.println("Difference : ");
System.out.println("Years : " + period.getYears());
System.out.println("Months : " + period.getMonths());
System.out.println("Days : " + period.getDays());
System.out.println("Hours : " + period.getHours());
System.out.println("Minutes : " + period.getMinutes());
System.out.println("Seconds : " + period.getSeconds());
}
}
}