Android получает разницу в миллисекундах между двумя датами

У меня есть поля Integer:

CurrentYear, currentMonth, currentDay, currentHour, currentMinute и nextYear, nextMonth, nextDay, nextHour, nextMinute.

Как я могу получить разницу между этими двумя точками во времени в миллисекундах. Я нашел способ использования объекта Date (), но эти функции, похоже, лишены, поэтому это мало рискованно.

Любым другим путем?

Используйте GregorianCalendar для создания даты и возьмите diff, как в противном случае.

GregorianCalendar currentDay=new GregorianCalendar (currentYear,currentMonth,currentDay,currentHour,currentMinute,0); GregorianCalendar nextDay=new GregorianCalendar (nextYear,nextMonth,nextDay,nextHour,nextMinute,0); diff_in_ms=nextDay. getTimeInMillis()-currentDay. getTimeInMillis(); 

Создайте объект Calendar для currenDay и nextDay , превратите их в longs, а затем вычтите. Например:

 Calendar currentDate = Calendar.getInstance(); Calendar.set(Calendar.MONTH, currentMonth - 1); // January is 0, Feb is 1, etc. Calendar.set(Calendar.DATE, currentDay); // set the year, hour, minute, second, and millisecond long currentDateInMillis = currentDate.getTimeInMillis(); Calendar nextDate = Calendar.getInstance(); // set the month, date, year, hour, minute, second, and millisecond long nextDateInMillis = nextDate.getTimeInMillis(); return nextDateInMillis - currentDateInMillis; // this is what you want 

Если вам не нравится путаница вокруг класса Calendar , вы можете проверить библиотеку времени Joda.