Имея некоторые проблемы с реализацией этой простой задачи.Как правильно сравнить две даты?
В принципе, я хочу сравнить две даты (некоторые старые даты и новые даты). Я хочу знать, больше ли старшая дата старше х месяцев и лет.
int monthDiff = new Date().getMonth() - detail.getCdLastUpdate().getMonth();
int dayDiff = new Date().getDay() - detail.getCdLastUpdate().getMonth();
System.out.println("\tthe last update date and new date month diff is --> " + monthDiff);
System.out.println("\tthe last update date and new date day diff is --> " + dayDiff);
Если старшая дата 2012-09-21 00: 00: 00.0, в настоящее время она будет возвращать отрицательные числа. Мне нужно выяснить, есть ли более старая дата ТОЧНО 6 месяцев и 4 дня до новой даты(). Я думаю об использовании абсолютных значений обоих, но просто не может мозг сегодня.
Редактировать: Я знаю об joda, но я не могу использовать его. Я должен использовать Java JDK. Редактировать 2: Я попробую перечисленные методы, если все не удастся, я буду использовать Joda.
Вам обязательно нужно сравнить абсолютные даты. – NeplatnyUdaj
@ user2266098 с месяцем я думаю, что это нормально, используя abs(), но как насчет дня, разные месяцы имеют разное количество дней :( – iCodeLikeImDrunk
Если старшая дата 21-го и сегодня 17-го числа, вы вычисляете 17 минус 21. Как вы ожидаете, что это будет положительным? – jarnbjo