//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
.............
.............
Date comparison Validation in android
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.
Sure, here is how to do date comparison validation in Android:
Code snippet
In this code, we first create two Date objects,
date1anddate2. Then, we call theisDate1AfterDate2()method to compare the two dates. TheisDate1AfterDate2()method returns a boolean value, which indicates whetherdate1is afterdate2.Finally, we print a message to the console to indicate the result of the comparison.
Here is an explanation of the code:
Calendar.getInstance()method returns a Calendar object that represents the current date and time.setTime()method sets the Calendar object to the specified date.after()method returns a boolean value, which indicates whether the specified date is after the current date.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;
}