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.