Pessoal como converto data do mysql ? pq la tem o padrao americano certo? tem como mudar o padrao do mysql para padrao br?
Meu, armazenar a data de maneira diferente eu acho (quase certeza) que nao eh possivel.
Mas da pra vc fazer o contrario, buscar a data num formato que seja conveniente pra vc, por exemplo:
mysql> SELECT DATE_FORMAT(‘2009-03-03 10:10:00’, ‘%d %M %Y’);
-> ‘03 March 2009’
Ou
mysql> SELECT DATE_FORMAT(‘2009-03-03 10:10:00’, ‘%d/%m/%Y’);
-> ‘03/03/2009’
Vc pode formatar a data do jeito que vc quiser no select.
//Daniel
imagino que você tenha um ResultSet para fazer a consulta ao banco de dados.
então, faça o seguinte:
Date d = rs.getDate("data"); // a data
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); // formato de data desejado
String s = sdf.format(d); // data formatada
ou apenas:
String s = new SimpleDateFormat("dd/MM/yyyy").format(rs.getDate("data")); // data formatada
para mais informações sobre formatação de datas, veja aqui.
abraço.
[quote=wbdsjunior]imagino que você tenha um ResultSet para fazer a consulta ao banco de dados.
então, faça o seguinte:
Date d = rs.getDate("data"); // a data
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); // formato de data desejado
String s = sdf.format(d); // data formatada
ou apenas:
String s = new SimpleDateFormat("dd/MM/yyyy").format(rs.getDate("data")); // data formatada
para mais informações sobre formatação de datas, veja aqui.
abraço.[/quote]
Acho que nao era bem isso o que ele perguntou.
Meu entendimento eh que ele queria alterar como o dado eh armazenado no banco, ou seja, mudar de algo assim 2009-03-03 10:10:00
para 03-03-2009 10:10:00
O que eu acho que nao seja possivel, entao ele tera duas alternativas, ou usar o DATE_FORMAT direto no banco (que vai economizar algumas linhas de codigo java ou entao fazer mais ou menos o codigo que vc postou.
//Daniel
na verdade, também entendi isso, mas esqueci de comentar.
o único problema de formatar direto no banco é internacionalização.
abraço.
ummm… fui no meu console mysql e digitei SELECT DATE_FORMAT(‘2009-03-03’, ‘%d %M %Y’); la apareceu uma tabelinha pequena escrito 03 March 2009, e agora? pq no meu mysql front continua o formato errado la no banco! ta 2009-03-03 ;/
porem depois que digitei esse codigo no console do sql agora quando tento efetuar cadastro ele da um erro justamente aonde mexi veja
run:
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect date value: '- -' for column 'dataA' at row 1
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3374)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3308)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1837)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1961)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2543)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1737)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2022)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1940)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1925)
at br.com.Papelaria.Cliente.ClienteControl.cadastrarClienteJ(ClienteControl.java:160)
falando que tem incopatibilidade com os 2 traços ‘- -’ sendo que no meu banco eu cadastro com traço e formatei meu jFormattedTextfield corretamente tambem veja =>
private void formatoDataA()
{
try
{
formatoDataA = new MaskFormatter("####-##-##");
}
catch(Exception e)
{
//JOptionPane.showMessageDialog(null, "Não foi possivel setar a máscara, erro = "+e);
e.printStackTrace();
}
}
OBS: ele chega salvar no banco mas gera o erro postado!
por que ao invés de inserir a data como String você não insere ela como Date mesmo? O PreparedStatement se encarrega de fazer isso.
aí você insere e recupera a data como Date e se precisar exibir o dado, formata com o SimpleDateFormat.
abraço.
cara tentei ler varios artigos na internet tente mexe no codigo la mas nao consigo de jeito maneira converte a data no meu mysql ;/// algueim tem algum exemplo desse codigo ? muito obrigado