Я хочу, чтобы сравнить две даты в моем приложенииAndroid - Сравнить две даты
Первая дата будет сегодняшняя дата Второй будет поступать из базы данных
Чтобы сохранить вторую дату мой код выглядит следующим образом ; (Используются дата завтрашней, чтобы сохранить его простым)
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);
Так tomorrowAsString (10-Oct-2015)
хранятся в таблице в моей базе данных
В другой форме я извлечение этой даты и положить его в строку
String steepingDate = (c.getString(3));
Я предполагаю, что мне нужно будет преобразовать эту строку в формат даты, а затем использовать следующее, чтобы получить сегодняшнюю дату;
Calendar calendar = Calendar.getInstance();
Date today = calendar.getTime();
DateFormat dateFormat = new SimpleDateFormat("dd-MMM-yyyy");
String todayAsString = dateFormat.format(today);
Вот где я застрять, как я не знаю, как превратить steepingDate
в Date
, а затем, что является фактическим способ сравнения строк, я попытался поиск в Интернете, но есть так много разных способов, которые я пробовал, и ни один из них до сих пор не работал. Я хочу знать, какой один из этих двух терке
EDIT:
Я объединил некоторые ответы и придумать следующее;
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());
Однако на;
SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy");
Date steepingdate = formatter.parse(steepingDate);
Я получаю сообщение об ошибке с указанием
«дата: не поддается синтаксическому анализу«java.util.GregorianCalender [время = 1444461352665, areFieldsSet = верно, Ienient = True \ зона = GMT, firstDayOfWeek = 1, minimalDaysInFirstWeek = 1, ЭРА = 1, год = 2015, МЕСЯЦ = 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, ЧАС = 7, HOUR_OF_DAY = 7 , МИНУТЫ = 15, ВТОРОЕ = 52, миллисекунду = 665, ZONE_OFFSET = 0DST_OFFSET = 0]»(по смещению 0)
Сравните, каким образом? Две даты не равны или какая дата на первом месте? –