Рассчитать количество дней, месяцев и лет между указанными датами. Для Java 7 и без Joda time
Как рассчитать количество дней, месяцев и лет между указанными датами? Проблема в том что это нужно для Java 7 и нельзя использовать Joda time. Нужно учитывать высокосные года.
Ответы (1 шт):
Автор решения: Barmaley
→ Ссылка
Calendar calEnd = Calendar.getInstance();
calEnd.set(2021, 3, 21, 20, 04, 04); //21 апреля 21 года 20:04:04
Calendar calStart = Calendar.getInstance();
calStart.set(2001, 4, 1, 9, 00, 00); //1 мая 2001 года, 9 утра
int years = calEnd.get(Calendar.YEAR) - calStart.get(Calendar.YEAR); //разница в годах
long millis = (calEnd.getTimeInMillis() - calStart.getTimeInMillis()); //разница в миллисекундах
int days = (int )(millis/(24*60*60*1000)); //разница в днях
int months = years*12 + (calEnd.get(Calendar.MONTH) - calStart.get(Calendar.MONTH)); //по-моему так
System.out.println("years="+years+", days="+days+", months="+months);