Vi que muita gente tem problemas com conversão de datas em String para o objeto da classe “java.sql.Date” ou até “java.util.Date”.
Ai vai mais duas função que pode ir para a classe utilitária da aplicação!
/**
* Converte uma String para um objeto java.sql.Date. Caso a String seja vazia ou nula,
* retorna null – para facilitar em casos onde formulários podem ter campos
* de datas vazios.
*
* @param strData String no formato dd/MM/yyyy a ser formatada
* @return java.sql.Date
* @throws Exception Caso a String esteja no formato errado
*/
public static Date parseDate(String strData) throws Exception {
if (data == null || data.equals(”")) {
return null;
}
java.util.Date date = null;
try {
DateFormat f = new SimpleDateFormat(”dd/MM/yyyy“);
date = (java.util.Date) f.parse(data);
} catch (ParseException e) {
throw new Exception(”Data com formato inválido“);
}
return date;
}
/**
* Converte uma String para um objeto java.sql.Date. Caso a String seja vazia ou nula,
* retorna null – para facilitar em casos onde formulários podem ter campos
* de datas vazios.
*
* @param strData String no formato dd/MM/yyyy a ser formatada
* @return java.sql.Date
* @throws Exception Caso a String esteja no formato errado
*/
public static java.sql.Date parseDateSQL(String strData) throws Exception {
if (data == null || data.equals(”")) {
return null;
}
java.util.Date date = null;
try {
DateFormat f = new SimpleDateFormat(”dd/MM/yyyy”);
date = (java.util.Date) f.parse(data);
} catch (ParseException e) {
throw new Exception(”Data com formato inválido”);
}
return new java.sql.Date(date.getTime());
}

Add to del.icio.us
3 03UTC Março 03UTC 2009 às 12:23 am |
Muito bom o post. Ajudou bastante!