Mostrar "dd/MM/yyyy HH:mm:ss" referente a uma consulta em uma coluna timestamp do MySQL

Boa Tarde!

Pessoal, preciso de ajuda…tenho uma tabela com dois campos DATETIME, quando insiro um registro novo estes campos são preenchidos com um CURRENT_TIMESTAMP ou seja, no BD este campo está no formato “2017-12-07 12:33:32”.

Quero pegar essa informação e mostrar em um jTable porém no formato “dd/MM/aa HH:mm:ss” (07/12/2017 12:33:32), por favor poderiam me ajudar a montar um método da classe Útil para fazer essa formatação, lembrando que preciso das horas também.

Olá, tente algo como:

String data = "2017-12-07 12:33:32";

SimpleDateFormat formatobd= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date datadb = formatobd.parse(data);
 
SimpleDateFormat formatobr= new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");  
data = formatobr.format(datadb);

Syste.out.prinln("Data: "+data);

Espero que ajude.

Obrigado pelas dicas, resolvi apenas alterando o tipo do campo no banco de dados de DATETIME e CURRENT_TIMESTAMP para STRING, rodando perfeitamente e me atendeu.

A formatação deve ser feita ao mostrar os dados e não ao guardar. Deverias continuar a guardar como datetime e fazer apenas o format ao apresentar na tabela.

1 curtida

Até porque guardar string/varchar no banco para representar data é uma péssima prática, se quiser fazer uma consulta e precisar calcular datas, vai ter que converter no banco, ou seja, um trabalho desnecessário…