End-date greater than start-date validation android
19,105
Solution 1
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;
}
Solution 2
Try this function.
public static boolean isDateAfter(String startDate,String endDate)
{
try
{
String myFormatString = "yyyy-M-dd"; // for example
SimpleDateFormat df = new SimpleDateFormat(myFormatString);
Date date1 = df.parse(endDate));
Date startingDate = df.parse(startDate);
if (date1.after(startingDate))
return true;
else
return false;
}
catch (Exception e)
{
return false;
}
}
It return true if enddate is after start date.
Solution 3
public static boolean CheckDates(String d1, String d2){
SimpleDateFormat dfDate = new SimpleDateFormat("yyyy-MM-dd");
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;
}
Author by
Ricardo Filipe
Updated on June 06, 2022Comments
-
Ricardo Filipe almost 2 years
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 :)