Erro ao imprimir a data [RESOLVIDO]

5 respostas
R

eu digito a data, por exemplo 22/11/1989, ae quando imprime, imprime diferente desse jeito, 26/12/1988, sempre diminuindo…
meu codigo está conectado ao mwsql… alguem pode ajudar? desde jah agradecendo

package Agenda;

import Agenda.Contato;
import Dao.ContatoDao;


import java.sql.Date;
import java.sql.SQLException;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.List;
import javax.swing.*;

public class ContatoController {
	
	private Date formatarData(String data) throws ParseException{
		
		DateFormat formatter = new SimpleDateFormat ("dd/MM/YYYY");
		return new Date(formatter.parse(data).getTime());
		
	}
	
	public void salvar(String nome, String apelido, String dtNascimento) throws SQLException,
	ParseException{
		
		Contato contato = new Contato();
		contato.setNome(nome);
		contato.setApelido(apelido);
		contato.setData_nascimento(formatarData(dtNascimento));
		
		new ContatoDao().salvar(contato);
		
	}
	
	public void alterar( long id, String nome, String apelido, String dtNascimento) throws SQLException,
	ParseException{
		
		Contato contato = new Contato();
		contato.setId(id);
		contato.setNome(nome);
		contato.setApelido(apelido);
		contato.setData_nascimento(formatarData(dtNascimento));
		
		new ContatoDao().alterar(contato);
		
	}
	
	public List<Contato>listaContatos(){
		
		ContatoDao dao = new ContatoDao();
		try{
			return dao.findContatos();
			
		}catch(SQLException e){
			JOptionPane.showMessageDialog(null, "Não foi possivel localizar esse contato\n" +
		e.getLocalizedMessage());
		}
		
		return null;
		
	}
	
	public void excluir (long id) throws SQLException{
		new ContatoDao().excluir(id);
	}
	
	public Contato buscaContatoPorNome(String nome) throws SQLException{
		ContatoDao dao = new ContatoDao();
		return dao.finfByName(nome);
	
	}
}

5 Respostas

Rodrigo_Sasaki

1 - Qual a String que vem pra você? Por favor não “adivinhe” o valor, use o depurador e diga o que realmente vem.

2 - Só por curiosidade, por que isso? return new Date(formatter.parse(data).getTime()) E não isso: return formatter.parse(data);?

R

vou tentar aki, mas a data tah vindo sempre assim vc digita a data e imprime assim sempre, 26/12/ e um ano a menos q foi digitado… abraços

R

não deu certo, pelo metodo q vc me disse, deu erro no aplicativo e nen gravou no banco de dados… desde jah te agradeço

Rodrigo_Sasaki

Ah ta, você está usando java.sql.Date, está explicado.

Volte o código pra como estava mesmo.

e o padrão para anos é ‘yyyy’ não ‘YYYY’

R

resolvido amigo… obrigado msm… abraços

Criado 15 de janeiro de 2013
Ultima resposta 16 de jan. de 2013
Respostas 5
Participantes 2