Привет, я спрашиваю себя, есть ли более простой способ узнать количество дней между двумя датами.
Я хочу только дни, не смотря на часы или минуты.
Поэтому, если сегодня понедельник, а дата, с которой я хочу сравнить, - среда, то дни между ними - 2 (время не имеет значения)
Поэтому я использую этот код:
Calendar c = Calendar.getInstance();
// Only the day:
c.set(Calendar.HOUR, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
c.set(Calendar.MILLISECOND, 0);
Calendar to = Calendar.getInstance();
to.setTime(date);
to.set(Calendar.HOUR, 0);
to.set(Calendar.MINUTE, 0);
to.set(Calendar.SECOND, 0);
to.set(Calendar.MILLISECOND, 0);
date = to.getTime();
long millsPerDay = 1000 * 60 * 60 * 24;
long dayDiff = ( date.getTime() - dateToday.getTime() ) / millsPerDay;
после этого кода у меня есть дни в длинном названном dayDiff.
но действительно ли необходимо сделать календарь даты, установить время 00: 00: 00: 00 и сохранить to.getTime()
в date
?
Редактировать: После использования joda-time :
Можно ли с помощью joda-time получать информацию о днях, например:
разница == 1 ==> завтра или разница == -1 ==> вчера
или я должен сделать это вручную?