#java
#java
Вопрос:
Пытаюсь сравнить некоторые даты в java, но не могу получить правильное форматирование, где я ошибаюсь?
DateFormat df = new SimpleDateFormat("dd/mm/yyyy");
Date date1 = null, date2 = null, today = new Date();
date1 = (Date) df.parse(scan.next());
System.out.println(date1);
System.out.println(today);
if(date1.compareTo(today) < 0){
date1 = null;
System.out.println(start " is not a valid date.. please try again!");
}
Please enter a start date:
10/04/2011
Mon Jan 10 00:04:00 GMT 2011
Tue Apr 05 22:27:44 BST 2011
Комментарии:
1. Просто предложение, но взгляните на JodaTime. Я знаю, что это не ответ на ваш вопрос, но JodaTime предоставляет множество отличных функций для обработки дат.
2. Хотя JodaTime хорош, не является ли это излишеством для
compareTo(...)
?
Ответ №1:
Ответ №2:
Измените строку 1 на: DateFormat df = новый SimpleDateFormat(«дд / ММ / гггг»);
мм в SimpleDateFormat — это минуты. ММ — это месяц. Итак, ваш ввод выполнен 10 января 2011 года в 00: 10:00
Проверьте http://download.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html для сокращений и javadoc.