Ricardo Filipe Ricardo Filipe - 17 days ago 6
Android Question

End-date greater than start-date validation android

I have two EditText's. One with start date and other with end date.
I need to make a validation and check if end date is greater than start-date. I don't know how i can do this.

In my code i make the difference bettween two dates in days, and now i also need to check if end date is greater than start-date

Here is my code:

//EditText with string of start date
dataInicio = (EditText)findViewById(R.id.ses_dpDataIni);
//EditText with string of end date
dataFim = (EditText)findViewById(R.id.ses_dpDataFim);

//Convert String to calendar to check the difference between two dates..
try{
dateInic = dataInicio.getText().toString();
dateFim = dataFim.getText().toString();

calInic=Calendar.getInstance();
calFim = Calendar.getInstance();
calInic.setTime(form.parse(dateInic));
calFim.setTime(form.parse(dateFim));
}
catch (ParseException e) {
e.printStackTrace();
}
Log.w(SessaoQuotaEdit.class.getName(),"DIFERENCA DE DIAS" +daysBetween(calInic,calFim));
tvDiasQuotas = (TextView)findViewById(R.id.ses_tvNumDiasQuota);
tvDiasQuotas.setText("NUMBER OF DAYS: " +daysBetween(calInic,calFim));

//CHECK IS END-DATE IS GREATER THAN START-DATE
.............
.............


Can you help me?
Thanks :)

Answer
SimpleDateFormat dfDate  = new SimpleDateFormat("yyyy-MM-dd");
public static boolean CheckDates("2012-07-12", "2012-06-12)"    {
    boolean b = false;
    try {
        if(dfDate.parse(d1).before(dfDate.parse(d2)))
        {
            b = true;//If start date is before end date
        }
        else if(dfDate.parse(d1).equals(dfDate.parse(d2)))
        {
            b = true;//If two dates are equal
        }
        else
        {
            b = false; //If start date is after the end date
        }
    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return b;
}