1
resposta

Dúvida com formatação de datas

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
1 resposta

Basta fazer isso:

public static String 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 sdf.format(data);
    }

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software