I need to compare 2 dates to a third date and ignore the time portion of all of them.
The code below generates a parse exception because the toString() method returns something like "Wed Feb 26 00:00:00 EST 2014".
Any suggestions on how I might fix this?
private boolean needToSendEmail(EmSelfCertEntity escd) throws ParseException {
boolean sendEmail = false;
DateFormat df = new SimpleDateFormat("MM/dd/yyyy");
Date justTheDate = df.parse(escd.getCurrentFCESDate().toString());
Calendar firstSent = Calendar.getInstance();
firstSent.setTime(justTheDate);
justTheDate = df.parse(new Date().toString());
Calendar firstFollowUp = Calendar.getInstance();
firstFollowUp.setTime(justTheDate);
firstFollowUp.add(Calendar.DATE, -daysToFirstFollowUpEmail);
Calendar secondFollowUp = Calendar.getInstance();
secondFollowUp.setTime(justTheDate);
secondFollowUp.add(Calendar.DATE, -daysToSecondFollowUpEmail);
if ((firstSent.before(firstFollowUp) && escd.countEmailsSent <= 1)
|| (firstSent.before(secondFollowUp) && escd.countEmailsSent <= 2)) {
sendEmail = true;
}
return sendEmail;
}
Thanks!
Dateis just an instant in time; it can occur on different days around the world. If you can possibly use Joda Time (or Java 8) that will make your life easier too.