{Resolvido}MySql Retorna 2013-01-29 00:00:00

O MySql tá gravando no banco a data errada e a hora errada(2013-01-29 00:00:00) a variavel esta como DateTime no banco,
eu estou usando esse código

fiz uma classe control, nela temos


public String dataMaquina() {

        SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy");
        java.util.Date data = new java.util.Date();
        return formato.format(data).toString();
    }

Para gravar no banco fiz assim

pstm.setDate(1, estoque.getData());

Na tela de cadastro

[code]java.util.Date dataCadastro;
java.sql.Date dataCadastroSql = null;

    try {
        dataCadastro = new SimpleDateFormat("dd/mm/yyyy").parse(estoqueControl.dataMaquina());
        dataCadastroSql = new java.sql.Date(dataCadastro.getTime());
    } catch (ParseException ex) {
        Logger.getLogger(CadastroEstoque.class.getName()).log(Level.SEVERE, null, ex);
    }[/code]

Depois para setar temos

cadastro.setData(dataCadastroSql);

E no banco dá pau…

Acho que você não está enviando a hora, os minutos e os segundos para o banco. Veja que a sua formatação excluir o horário:

SimpleDateFormat formato = new SimpleDateFormat(“dd/MM/yyyy”);

SimpleDateFormat(“dd/mm/yyyy”).parse(estoqueControl.dataMaquina());

Imagino que deveria ser algo do tipo:

SimpleDateFormat formato = new SimpleDateFormat(“dd/MM/yyyy H:m:s”);

SimpleDateFormat(“dd/mm/yyyy H:m:s”).parse(estoqueControl.dataMaquina());

Veja: http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html

Abraço.

TerraSkill meu problema com o mes errado resolvi eu tava usando assim,

("dd/mm/yyyy")

e tem que ser assim

("dd/MM/yyyy")

Agora a questão de aparecer o horario não consegui tava lendo que tem que usar o Timestamp,
alguém sabe como eu uso ele ???

Alterei o data maquina, para pegar o timestamp tenho que alterar mais em algum lugar ?
alguém sabe me dizer ?

[code]public String dataMaquina() {

    SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
    java.util.Date data = new java.util.Date();
    Timestamp hora = new Timestamp(data.getTime());
    return formato.format(hora).toString();
}

[/code]

Como faz o uso do TimeStamp ???

Para formatar uma java.util.Date em String com data e hora

	public String formataDataHora(java.util.Date data) {
		SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
		return formato.format(data);
	}

Para converter uma String com data e hora em java.util.Date

	public java.util.Date converteDataHora(String dataHora) throws ParseException {
		SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
		return formato.parse(dataHora);
	}

Para colocar uma data e hora no banco, a partir de um java.util.Date:

java.sql.Timestamp timestamp = new java.sql.Timestamp(data.getTime());
preparedStatement.setTimestamp(indiceParametro, timestamp);

Para pegar uma data e hora do banco, e colocar num java.util.Date:

data = resultSet.getTimestamp(nomeColuna); // funciona pq o java.sql.Timestamp é uma subclasse de java.util.Date

Obrigada pela resposta, resolvido.