привет, я спрашиваю себя, есть ли более простой способ получить количество дней между двумя датами.
Я хочу только дни, не глядя ни на часы, ни на минуты.
Поэтому, если сегодня понедельник, а дата, которую я хочу сравнить, приходится на среду, то дней между ними будет 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 ==> вчера или мне нужно сделать это вручную?