DATE COMPARISON VALIDATION IN ANDROID

Glen Martin

Total Post:27

Points:191
Posted by  Glen Martin
 1259  View(s)
Ratings:
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
             .............
             .............
  1. Mayank Tripathi

    Post:397

    Points:3117
    Re: Date comparison Validation in android

    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;
    }

Answer

NEWSLETTER

Enter your email address here always to be updated. We promise not to spam!