Home > DeveloperSection > Forums > Date comparison Validation in android
Glen Martin
Glen Martin

Total Post:27

Points:191
Posted on    December-30-2015 1:54 AM

 Android Android  Android Edittext 
Ratings:


 1 Reply(s)
 417  View(s)
Rate this:
I have  edit texts for start date and End date. I want to implement date validation which will check whether the end date is greater than start date or not. Please suggest me the right way.

I have tried to find out the difference between two dates in day in 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
             .............
             .............


Mayank Tripathi
Mayank Tripathi

Total Post:397

Points:3117
Supported
Posted on    December-30-2015 2:50 AM

Hi Glen,

Use this code:
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;
}

Don't want to miss updates? Please click the below button!

Follow MindStick