Date Differenz

jason23

Grünschnabel
Hallo,

habe 2 DateChooser (Anfangsdatum, Enddatum) und muss sicherstellen dass die Differenz min. 1 Monat beträgt.

Meine bisherige Lösung ist unzureichend (in Hinblick auf Februar mit 28 Tagen bzw. Schaltjahr) :

Code:
long difference = Math.abs(endDate.getTime() - startDate_.getTime());
int daysDiff = (Integer) Math.round( difference / (1000 * 60 * 60 * 24) ); 

if (daysDiff < 30) {
    alertDialog.show();
    return;
}

Wäre wirklich nett wenn mir jemand einen Ansatz geben könnte.

Mit freundlichem Gruss ans Board
jason23
 
Hallo!

Schau mal hier:
Java:
/**
 *
 */
package de.tutorials;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * @author Thomas.Darimont
 */
public class DateDiffExample {

  /**
   * @param args
   */
  public static void main(String[] args) throws Exception {
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd.MM.yyyy");

    Date date1 = simpleDateFormat.parse("1.2.2006");
    Date date2 = simpleDateFormat.parse("2.3.2006");

    System.out.println(isOneMonthAfter(date1, date2));

  }


  private static boolean isOneMonthAfter(Date baseDate, Date upcomingDate) {
    Calendar baseDateCalendar = Calendar.getInstance();
    Calendar upcommingDateCalendar = Calendar.getInstance();
    baseDateCalendar.setTime(baseDate);
    upcommingDateCalendar.setTime(upcomingDate);
    baseDateCalendar.add(Calendar.MONTH, 1);
    return baseDateCalendar.before(upcommingDateCalendar);
  }

}

Gruß Tom
 
Zurück