It would be easier with java8 where you dont need to subtract long values represent of date and change back to days, hours and minutes.
Date today= LocalDate.now();
Date futureDate = LocalDate.now().plusDays(1);
long days = Period.between(today, futureDate).getDays();
Period & LocalDate class are available in #java8
LocalDate
docs
LocalDate is an immutable date-time object that represents a date,
often viewed as year-month-day. Other date fields, such as
day-of-year, day-of-week and week-of-year, can also be accessed. For
example, the value "2nd October 2007" can be stored in a LocalDate.
If you are not using java8, use joda-time library's org.joda.time.Days utility to calculate this
Days day = Days.daysBetween(startDate, endDate);
int days = d.getDays();