I want to compare two dates in my application
The first date will be todays date The second will come from a database
To save the second date my code is as follows; (Used tomorrows date to keep it simple)
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_YEAR, 1);
Date tomorrow = calendar.getTime();
DateFormat dateFormat = new SimpleDateFormat("dd-MMM-yyyy");
String tomorrowAsString = dateFormat.format(tomorrow);
So tomorrowAsString (10-Oct-2015)
is stored in a table in my database
In another form I'm retrieving that date and putting it into a String
String steepingDate = (c.getString(3));
I imagine that I'll need to convert that string into a date format and then use the following to get todays date;
Calendar calendar = Calendar.getInstance();
Date today = calendar.getTime();
DateFormat dateFormat = new SimpleDateFormat("dd-MMM-yyyy");
String todayAsString = dateFormat.format(today);
Here is where I'm getting stuck as I'm not sure how to turn the steepingDate
into a Date
and then what is the actual way of comparing the strings, I've tried looking online but there's so many different ways that I've tried and none so far have worked. I want to know which one of the two is grater
EDIT:
I've combined some of the answers and come up with the following;
do {
String steepingDate = (c.getString(3));
SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy");
Date steepingdate = formatter.parse(steepingDate);
Calendar calendar = Calendar.getInstance();
Date today = calendar.getTime();
if(today.compareTo(steepingdate)>0)
{
CompleteSteeping.add(c.getString(1));
}
i += 1;
}while (c.moveToNext());
However on;
SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy");
Date steepingdate = formatter.parse(steepingDate);
I'm getting an error stating
'Unparseable date: "java.util.GregorianCalender[time=1444461352665,areFieldsSet=true,Ienient=true\zone=GMT,firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2015,MONTH=9,WEEK_OF_YEAR=41,WEEK_OF_MONTH=2,DAY_OF_MONTH=10,DAY_OF_YEAR=283,DAY_OF_WEEK=7,DAY_OF_WEEK_IN_MONTH=2,AM_PM=0,HOUR=7,HOUR_OF_DAY=7,MINUTE=15,SECOND=52,MILLISECOND=665,ZONE_OFFSET=0DST_OFFSET=0]" (at offset 0)
If you just want to compare the Strings it would look like this:
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_YEAR, 1);
Date tomorrow = calendar.getTime();
DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
String tomorrowAsString = dateFormat.format(tomorrow);
calendar = Calendar.getInstance();
Date today = calendar.getTime();
String todayAsString = dateFormat.format(today);
if(tomorrowAsString.equals(todayAsString))
System.out.println(true);
else
System.out.println(false);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With