Função Formata Data

Boa Tarde!
Em pesquisa nos posts do fórum, cheguei a função de formatação de data abaixo. Porém, o retorno da função está gravando no banco de dados a data atual do sistema.
Não consigo ver o que há de errado com a minha função. Poderiam, por gentileza me auxiliar com isso?
Segue o código da função e o código da chamada da função:

[code]
public String formataData_Mysql(String DataText){
Date data = new Date();
String retorno = “”;

    SimpleDateFormat formatarDate = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

    try {
        data = formatarDate.parse(DataText);
        retorno = formatarDate.format(data);
    } catch (Exception ex) {
        String message = ex.getMessage();
       //JOptionPane.showMessageDialog(null,"Formato: " + formatarDate.format(data) + " - Erro ao gravar: " + ex.getMessage(),"Mensagem",JOptionPane.INFORMATION_MESSAGE);
    }

    return retorno;
}[/code]
 SQL += "'" + objFormatacao.formataData_Mysql(jtxtDT_Nasc.getText().toString()) + "',";

Aguardo retorno de vocês.

pergunta básica: o que está digitando dentro de jtxtDT_Nasc.getText()?

talvez esteja digitando a data atual no textfield não?

Com certeza não!
Esta foi a primeira verificação que fiz. Inclusive, fui colocando uma caixa de mensagem para poder saber qual o momento em que a função se perdia e eu acredito que seja na conversão de string pra date.
O input do campo é 24/07/1956.

olha, eu aqui quando quero gravar uma data no campo do banco DATE faço o seguinte:

  1. até antes da gravação a data é considerada uma String.

  2. só que eu pego a string digitada e quebro-a em dia, mes e ano

  3. confiro para ver se existe o dia, mes e ano,

  4. reordenando-a para ano/ mes/ dia (aceito pelo campo date no mysql)

postei em um fórum recentemente por aqui…

[i][b]voce poderia capturar a data digitada pelo usuário com um JcomboBox para dia, outro para mes e outro para ano.

Assim na hora de salvar vc uni as strings:

ano + “-” + mes + “-” + ano

outra solução seria você capturar a string (data) digitada pelo usuario e fazer:

String diaStr = data.substring(0, 2);
String barra1 = data.substring(2,3);
String mesStr = data.substring(3, 5);
String barra2 = data.substring(5,6);
String anoStr = data.substring(6, 10);

pronto… aqui você tem o dia, mes e ano separados!

é só concatenar na ordem inversa! [/b][/i]

pronto… só isso aqui resolveu.

Se ao invés de fazer uma transformação para date seu metodo formataData_Mysql(String DataText) recebesse a string e fizesse isso ai a cima, retornando a string reconcatenada em ano/mes/dia creio que resolveria.

Você precisa usar um DateFormat (“dd/MM/YYYY”) para transformar o texto em data e depois outro “yyyy-MM-dd hh:mm:ss” para transformar a data em texto.

tente programar se não conseguir poste aqui…