Many times while programming in java we need to compare two dates, below are the two methods can be used to compare 2 dates, it can be done using either Date class or Calendar class. Below both program produces same output.
Method 1 : Using Date class
/* CompareDate.java */
import java.util.*;
import java.text.*;
public class CompareDate
{
public static void main(String[] args)
{
String date1 = "10-11-2009";//any date
String date2 = "10-11-2009";//any date
SimpleDateFormat formatterDate = new SimpleDateFormat("dd-MM-yyyy");
Date d1 = null;
Date d2 = null;
try
{
d1 = formatterDate.parse(date1);
d2 = formatterDate.parse(date2);
}
catch (Exception e)
{
System.out.println("Parse Exception :"+e);
}
int results = d1.compareTo(d2);
if(results > 0)
{
System.out.println("d1 "+date1+" is greater than d2 "+date2);
}
else if (results < 0)
{
System.out.println("d1 "+date1+" is less than d2 "+date2);
}
else //results = 0
{
System.out.println("d1 "+date1+" is equal to d2 "+date2);
}
}
}
Method 2 : Using Calendar class
/* CompareDate.java */
import java.util.*;
import java.text.*;
public class CompareDate
{
public static void main(String[] args)
{
String date1 = "15-11-2009";//any date
String date2 = "11-11-2009";//any date
SimpleDateFormat formatterDate = new SimpleDateFormat("dd-MM-yyyy");
Date d1 = null;
Date d2 = null;
try
{
d1 = formatterDate.parse(date1);
d2 = formatterDate.parse(date2);
}
catch (Exception e)
{
System.out.println("Parse Exception :"+e);
}
Calendar ss=Calendar.getInstance();
Calendar ee=Calendar.getInstance();
ss.setTime(d1);
ee.setTime(d2);
if(d1.after(d2))
{
System.out.println("d1 "+date1+" is greater than d2 "+date2);
}
else if (d1.before(d2))
{
System.out.println("d1 "+date1+" is less than d2 "+date2);
}
else //d1.equals(d2)
{
System.out.println("d1 "+date1+" is equal to d2 "+date2);
}
}
}
Method 1 : Using Date class
/* CompareDate.java */
import java.util.*;
import java.text.*;
public class CompareDate
{
public static void main(String[] args)
{
String date1 = "10-11-2009";//any date
String date2 = "10-11-2009";//any date
SimpleDateFormat formatterDate = new SimpleDateFormat("dd-MM-yyyy");
Date d1 = null;
Date d2 = null;
try
{
d1 = formatterDate.parse(date1);
d2 = formatterDate.parse(date2);
}
catch (Exception e)
{
System.out.println("Parse Exception :"+e);
}
int results = d1.compareTo(d2);
if(results > 0)
{
System.out.println("d1 "+date1+" is greater than d2 "+date2);
}
else if (results < 0)
{
System.out.println("d1 "+date1+" is less than d2 "+date2);
}
else //results = 0
{
System.out.println("d1 "+date1+" is equal to d2 "+date2);
}
}
}
Method 2 : Using Calendar class
/* CompareDate.java */
import java.util.*;
import java.text.*;
public class CompareDate
{
public static void main(String[] args)
{
String date1 = "15-11-2009";//any date
String date2 = "11-11-2009";//any date
SimpleDateFormat formatterDate = new SimpleDateFormat("dd-MM-yyyy");
Date d1 = null;
Date d2 = null;
try
{
d1 = formatterDate.parse(date1);
d2 = formatterDate.parse(date2);
}
catch (Exception e)
{
System.out.println("Parse Exception :"+e);
}
Calendar ss=Calendar.getInstance();
Calendar ee=Calendar.getInstance();
ss.setTime(d1);
ee.setTime(d2);
if(d1.after(d2))
{
System.out.println("d1 "+date1+" is greater than d2 "+date2);
}
else if (d1.before(d2))
{
System.out.println("d1 "+date1+" is less than d2 "+date2);
}
else //d1.equals(d2)
{
System.out.println("d1 "+date1+" is equal to d2 "+date2);
}
}
}