андроид дней между двумя датами

у меня есть две даты и времени 01.09.2014 и 10.09.2014. Я хочу проверить дни между этими датами. я написал функцию, которая может изменить формат даты и времени

public static String dateFormatterforLukka(String inputDate) {

    String inputFormat = "MM/dd/yyyy";
    String outputFormat = "d MMM";

    Date parsed = null;
    String outputDate = "";
    try {
        SimpleDateFormat df_input = new SimpleDateFormat(inputFormat,
                new Locale("en", "US"));
        SimpleDateFormat df_output = new SimpleDateFormat(outputFormat,
                new Locale("en", "US"));


        parsed = df_input.parse(inputDate);
        outputDate = df_output.format(parsed);
    } catch (Exception e) {
        outputDate = inputDate;
    }
    return outputDate;
}

но я не знаю, как я могу решить свою проблему, если кто-нибудь знает решение, пожалуйста, помогите мне


person Beka    schedule 10.10.2014    source источник
comment
Что вы получаете в результате? Есть ошибки?   -  person SearchForKnowledge    schedule 10.10.2014
comment
Что вы пробовали? Вы просто анализируете две даты...   -  person mithrop    schedule 10.10.2014
comment
возможный дубликат Разница дат в java   -  person Marc B    schedule 10.10.2014
comment
у меня нет ошибки, но это единственная функция изменения формата даты и времени. но я не знаю, как я могу проверить дни между двумя датами   -  person Beka    schedule 10.10.2014


Ответы (3)



Вместо того, чтобы использовать 2 простых формата даты, вы можете проанализировать их в том же формате даты после разбора, вы получите 2 даты. Вы можете найти разницу в миллисекундах с помощью:

`

long differenceAsMs = higherDate.getTime() - lowerDate.getTime();
int differenceAsDay = differenceAsMs / (1000 * 60 * 60 * 24);

` Надеюсь, это поможет.

person Warwicky    schedule 10.10.2014

Используйте библиотеку времени joda: JodaOrg/joda-time · GitHub

LocalDate date1 = new LocalDate(2014, 5, 25);
LocalDate date2 = new LocalDate(2014, 6, 15);

Period period = new Period(date1, date2, PeriodType.yearMonthDay());

int daysBetween = period.getDays();
int monthsBetween = period.getMonths();
int yearsBetween = period.getYears();

Обратите внимание, что период будет возвращать отрицательные числа, если дата date2 предшествует дате date1, в противном случае он будет возвращать положительные числа.

person Mel    schedule 10.10.2014