SimpleDateFormat com Calendar

1 resposta
K

Pessoal boa tarde, vi alguns topicos e alguns artigos sobre o assunto, mas to com uma duvida,

Tenho um atributo no model do tipo Calendar dataNascimento, e to com duas duvidas sobre isso…

Primeira

public List<Contato> getLista() {
		try {
			List<Contato> contatos = new ArrayList<Contato>();
			PreparedStatement stmt = this.con.prepareStatement("select * from contatos");
			ResultSet rs = stmt.executeQuery();

			while (rs.next()) {
				// criando o objeto Contato
				Contato contato = new Contato();
				contato.setNome(rs.getString("nome"));
				contato.setEmail(rs.getString("email"));
				contato.setEndereco(rs.getString("endereco"));

				// montando a data através do Calendar, eis a duvida, se fosse uma string eu consegueria formatar de modo facil  usando o SimplaDateFormat
                               // mas como ta na camada model Calendar tambem nao consigo fazer o formato dele em dd/YY/aaa e quando eu cuspo isso no console fica aquela coisa horrivel.
				Calendar data = Calendar.getInstance();
				data.setTime(rs.getDate("dataNascimento"));
				contato.setDataNascimento(data);

2 Duvida

Não sei se é aconselhavel ou mesmo recomendado por patterns mas toda vez que montar uma lista eu vou ter que novamente formatar a data, tem como trazer ela formatada desde a camada model, pra evitar escrever o codigo toda vez?

Desde já agradeco!

1 Resposta

Eric_Yuzo

Use o método getTime() na hora de passar o parâmetro para o DateFormat. O método getTime retorna um objeto Date que representa o seu Calendar.

DateFormat df = new SimpleDateFormat("dd/MM/yyyy"); String data = df.format(cal.getTime());

Criado 16 de abril de 2011
Ultima resposta 16 de abr. de 2011
Respostas 1
Participantes 2