Bom dia galera, estou tendo um problema muito besta com a formatação de datas, criei uma pagina que cadastra e lista contatos, e na pagina onde é listado a data é exibida da seguinte forma: Thu Sep 14 00:00:00 BRT 2017. Pensei em criar uma classe DataUtil que recebe um Calendar e devolve a data formatada. Sei que a nova biblioteca do java 8 (java.time) seria mais fácil de se resolver, é que o exercicio pede pra ser com Calendar . ``` insira seu código aqui public class DataUtil {
@SuppressWarnings("deprecation") public static Date formatDate(Calendar calendar){ SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); String dataFormatada = sdf.format(calendar.getTime()); Date data = null; try { data = sdf.parse(dataFormatada); } catch (ParseException e) { e.printStackTrace(); } return new Date(sdf.format(data)); }
}
//Na mina classe contato eu chamo o formatDate pra setar ela ja formatada public void setDataNascimento(Calendar dataNascimento) { DataUtil.formatDate(dataNascimento); this.dataNascimento = dataNascimento; }
//No meu contatoDAO no método listar eu ja setaria a data formatada public List getLista() { try { List contatos = new ArrayList(); PreparedStatement stmt = this.connection.prepareStatement("SELECT * FROM contatos");
ResultSet rs = stmt.executeQuery();
while(rs.next()) { Contato contato = new Contato(); //popula o objeto contato contato.setId(rs.getInt("id")); contato.setNome(rs.getString("nome")); contato.setEmail(rs.getString("email")); contato.setEndereco(rs.getString("endereco"));
//popula a data de nascimento do contato, fazendo a conversao Calendar data = Calendar.getInstance(); data.setTime(rs.getDate("dataNascimento")); contato.setDataNascimento(data);
//adiciona o contato na lista contatos.add(contato); }
rs.close(); stmt.close();
return contatos; } catch (SQLException e) { throw new RuntimeException(e); } }
Poderiam me ajudar, por favor.
insira seu código aqui