2015-10-03 2 views
0

Мне нужно отфильтровать дату с «От даты» до «Дата» с использованием фильтра «Текущая дата».Фильтр даты в java

Вот код, который я использую в моей Java-приложение:

String from = "19/05/1991"; 
String cmp = "23/05/1991"; 
String to = "23/12/2015"; 

if (from.compareTo(cmp) <= 0 && to.compareTo(cmp) >= 0) { 
    System.out.println("Date lies between from and to date"); 
} 

Является ли этот код правильно?

+1

Рода, хотя этот ответ и ответ он ссылается предполагает, что вы уже Dates. Хорошим ответом на этот вопрос может быть то, почему сравнение таких строк не будет работать (хотя, если даты были yyyy/mm/dd, это сработает нормально) и как получить String в Date. – blm

ответ

0

Вы должны сделать это так:

String from = "19/05/1991"; 
String cmp = "23/05/1991"; 
String to = "23/12/2015"; 

DateFormat format = new SimpleDateFormat("dd/MM/yyyy"); 
Date date1 = format.parse(from); 
Date date2 = format.parse(cmp); 
Date date3 = format.parse(to); 

if(date1.before(date2) && date3.after(date2)) { 
    System.out.println("Date lies between from and to date"); 
} 

См Date#after и Date#before

+0

Спасибо. его работы прекрасны. – Ram

Смежные вопросы