Estou estudando pela apostila da caelum FJ-21, e me deparei com o seguinte problema referente a datas.
Contato contato = new Contato();
contato.setNome(rs.getString("nome"));
contato.setEmail(rs.getString("email"));
contato.setEndereco(rs.getString("endereco"));
Date dt; // = sdf.parse(this.data);
try {
Calendar cal = new GregorianCalendar();
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
this.data = sdf.format(rs.getDate("dtNascimento"));
dt = new Date(sdf.parse(this.data).getTime());
cal.setTime(dt);
sdf.format(cal.getTime());
contato.setDtNascimento(cal);
} catch (ParseException ex) {
ex.printStackTrace();
}
// adicionando o objeto à lista
contatos.add(contato);
A minha saida para a data é essa:
Data de Nascimento: Wed Jan 25 00:00:00 BRST 2012
Bem, a minha pergunta é, se consigo formatar essa saída no padrão: “dd/mm/yyyy”?
Já que é para exibir ao usuário, não poderia ser uma String apenas? Se sim como faço para add na lista como string, ou por outra maneira?
Na verdade depois de convertido para esse formato, a data se torna apenas uma String, ou seja, o formato dd/MM/yyy é apenas uma forma de apresentação.
Para lidar com as datas de fato, utilize os metodos da classe Date e só formate quando for apresentá-la
Agora que vi que você fez algo parecido, mas com algumas coisas desnecessárias.
Enfim, acho que não entendi o que você quer.
[]'s[/quote]
Então davidbuzatto, só que queria exibir essa data nessa classe:
package br.com.caelum.teste;
import java.util.List;
import br.com.caelum.beans.Contato;
import br.com.caelum.dao.ContatoDAO;
public class TestaLista {
public static void main(String[] args) {
ContatoDAO dao = new ContatoDAO();
List<Contato> contatos = dao.getLista();
// Impressão das informações dos contatos
for (Contato contato : contatos) {
System.out.println("Nome: " + contato.getNome());
System.out.println("Email: " + contato.getEmail());
System.out.println("Endereço: " + contato.getEndereco());
System.out.println("Data de Nascimento: " + contato.getDtNascimento().getTime() + "\n");
}
}
}
Como pode ver eu chamo minha lista da minha classe DAO, queria saber como consigo trazer essa informação sem mexer na minha estrutura, acho que colocar na minha List não tem como, ou posso fazer um metodo separado, algo assim, estou meio perdido na verdade.
[quote=davidbuzatto]Uai, mas é só formatar a data que está vindo no calendário (linha 21).
Não é isso q vc quer?
[]'s[/quote]
olá davidbuzatto, desculpa responder só agora. Bem era isso mesmo, foi falta de atenção, pois estava focando na idéia de add na lista e na minha classe de teste carregar já formatada. Bem preciso prestar mais atenção, mas muito obrigado pela resposta e esclarecimento!