2015-03-12 4 views
1

У меня есть следующий код:Как урезать время на java.sql.Date?

String dateCompleted = "4/24/2009 2:38:44 PM"; 
DateFormat format = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a"); 
java.util.Date tempDate = format.parse(dateCompleted); 
java.sql.Date completionDate = new java.sql.Date(tempDate.getTime()); 

Я хочу, чтобы сравнить completionDate значение даты в таблице базы данных Oracle, которая не включает в себя время. Например, я хочу сравнить его со значением «4/24/2009» и вернуть его true, потому что эти даты совпадают.

Как урезать значение времени из моей переменной, чтобы сравнить его со значением базы данных? Заранее спасибо!

+1

delete hh: mm: ss a from string string – sgpalit

+0

Это сработало. Благодаря! – Erica

ответ

0

Попробуйте это:

String dateCompleted = "4/24/2009 2:38:44 PM"; 
DateFormat format = new SimpleDateFormat("MM/dd/yyyy"); 
java.util.Date tempDate = format.parse(dateCompleted); 
java.sql.Date completionDate = new java.sql.Date(tempDate.getTime()); 

же, как упомянуто @sgpalit.

0
private final Pattern timeSection = Pattern.compile("\\s+.+?:.*"); 

String stripTime(String dateStringWithTime){ 
    Matcher m = timeSection.matcher(dateStringWithTime); 
    if(m.find()){ 
     return m.replaceAll(""); 
    } 
    return dateStringWithTime; 
} 
1

определяют объекты SimpleDateFormat следующим образом,

DateFormat format=new SimpleDateFormat("MM/dd/YYYY"); 
2

Apache Commons Lang есть метод дата усечения вы можете использовать для этого:

java.util.Date truncated = DateUtils.truncate(tempDate, Calendar.DATE); 

увидеть Javadocs для DateUtils.truncate для получения более подробной информации.

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