Подсчет количества дней из даты

335
11 октября 2017, 06:19

У меня есть метод, который считает разницу между датой покупки и датой продажи. Мне нужно высчитать количество дней, которое прошло в этом промежутке.

сейчас есть такой код:

public int storeDays(GregorianCalendar dateOfPurchase, GregorianCalendar dateOfSale) {
        int storeDays=dateOfPurchase.get(Calendar.DATE)-dateOfSale.get(Calendar.DATE);
    }

Как из storeDaysвысчитать количество дней? И вообще правильно ли я выполняю данную задачу? Или может мне будет проще изначально перевести даты в дни и от них отнимать?

Answer 1

можно так:

int storeDays=(int) ((dateOfPurchase.getTimeInMillis()-dateOfSale.getTimeInMillis())/1000/60/60/24);
Answer 2

Использовал Joda Time

public int storeDays(String dateOfPurchase, String dateOfSale) {
            this.dateOfPurchase = dateOfPurchase;
            this.dateOfSale = dateOfSale;
            SimpleDateFormat format = new SimpleDateFormat("MM.dd.yyyy");
            int storeDays = 0;
        try {
            Date date1 = format.parse(dateOfPurchase);
            Date date2 = format.parse(dateOfSale);
            DateTime dt1 = new DateTime(date1);
            DateTime dt2 = new DateTime(date2);
            storeDays = Days.daysBetween(dt1, dt2).getDays();
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return storeDays;
    }
READ ALSO
Как сделать событие календаре?

Как сделать событие календаре?

Доброго времени сутокЕсть приложение(календарь) основано на CalendarView

251
Java ArrayList sort в ранних версиях

Java ArrayList sort в ранних версиях

Пытаюсь отсортировать ArrayListЖалуется, что в api не поддерживается compare

265