Boa tarde Pessoal, sei que este tópico ja foi discutido várias vezes, mas ainda não encontrei a solução ou melhor, não consegui raciocinar tal conversão mesmo vendo todos esses tópicos, vou ser direto, muitos responderam utilizando classes diferentes, mas não é esse o caso, quero converter apenas SimpleDateFormat em Calendar. Tem 3 dias que estou tentando e não consigo, tenho pouco tempo por dia (rsrs). quero exibir a data formatada na tela como dd/mm/yyyy
[code]public List getLista() {
List<Contato> contatos = new ArrayList<Contato>();
try {
//Preparando um statement para acessar o banco
PreparedStatement stmt = this.connection.prepareStatement("select * from contatos");
//executeQuery() retorna um ResultSet para iterar com a tabela
ResultSet rs = stmt.executeQuery();
while(rs.next()) {
Contato contato = new Contato();
//Passando os valores que estão na tabela para o objeto contato
contato.setId(rs.getLong("id"));
contato.setName(rs.getString("nome"));
contato.setEmail(rs.getString("email"));
contato.setEndereco(rs.getString("endereco"));
//Formatando a data com patern SimpleDateFormat
//Montando a data através de Calendar
SimpleDateFormat dataformatada = new SimpleDateFormat("dd/MM/yyyy");
dataformatada.
Calendar data = dataformatada.getCalendar();
data.setTime(rs.getDate("dataNascimento"));
contato.setDataNascimento(data);
contatos.add(contato);
}
stmt.close();
rs.close();
} catch(SQLException e) {
new RuntimeException(e);
}
return contatos;
}
Cara, valeu d+ pela atenção, desculpe a minha ignorância em java, eu estava tentando alterar no método getLista(); só agora me toquei …
Obrigado novamente pela atenção e paciência rsrsrsrs
Mais esta lançando so na exibição da data
Exception in thread "main" java.lang.IllegalArgumentException: Cannot format given Object as a Date
at java.text.DateFormat.format(DateFormat.java:281)
at java.text.Format.format(Format.java:140)
at br.com.caelum.jdbc.teste.TestarGetLista.main(TestarGetLista.java:22)
Tens certeza que está armazenando um Calendar?
Só um detalhe, minha memória pode estar enganada, mas ao que sei, o ResultSet retorna um java.sql.Date e não um java.util.Date, que é o parametro que o calendar usa no set.
o problema é na formatação do println(), se eu deixar apenas c.getDataNascimento() retorna a data normalmente porém com tudo que tem direito no Calendar
Certo.
Diego, você leu com atenção meus posts anteriores?
Reveja, acima eu lhe mostrei como apresentar no console a data formatada, depois você postou uma Exception, em seguida fiz outro post com um trecho de código que deve ser modificado no que você fez, o intuito do trecho de código é justamente solucionar o problema da Exception. Pois repito, acredito que o problema tenha sido pelo fato de você não ter atribuido corretamente o objeto ao Calendar e quando executa o getTime(), traz um objeto diferente do java.util.Date.
Tente o código que lhe apresento anteriormente e post o resultado.
E por favor, poste o código que está utilizando, desde o momento em que preenche o seu objeto até o que executa o System.out.println.