Привет, я пытаюсь сравнить введенную пользователем дату (как строку) с текущей датой, чтобы узнать, была ли эта дата более ранней или более старой.Сравнение даты ввода пользователя с текущей датой
Мой текущий код
String date;
Date newDate;
Date todayDate, myDate;
SimpleDateFormat dateFormatter = new SimpleDateFormat("dd-MM-yyyy");
while(true)
{
Scanner s = new Scanner (System.in);
date = s.nextLine();
Calendar cal = Calendar.getInstance();
try {
// trying to parse current date here
// newDate = dateFormatter.parse(cal.getTime().toString()); //throws exception
// trying to parse inputted date here
myDate = dateFormatter.parse(date); //no exception
} catch (ParseException e) {
e.printStackTrace(System.out);
}
}
Im пытается получить как пользователя дату ввода и текущую дату в двух Дата объектов, так что я могу использовать Date.compareTo(), чтобы упростить сравнение дат.
Мне удалось разобрать входную строку пользователя в объект Date. Однако текущая дата cal.getTime(). ToString() не анализирует объект Date из-за недопустимой строки.
Как это сделать? Заранее спасибо
Просто уточнить - вам нужно что-то, что вернет 'true', если введенная дата вчера, но' false', если введенная дата сегодня. Это правильно? –
Да, это то, что я пытаюсь сделать. Предположим, что im запускает программу сегодня, newDate = new Date(); дает мне (1 ноября 2013 года 8 вечера), и если пользователь вводит 1 ноября 2013 года, он должен вернуть значение false, поскольку введенная дата сегодня (независимо от времени). – kype