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

4 respostas Resolvido
programaçãojavamysql
F

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.

4 Respostas

J

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.

F
Solucao aceita

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.

P

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.

R

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…

Criado 7 de dezembro de 2017
Ultima resposta 14 de jan. de 2018
Respostas 4
Participantes 4