GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

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

mysql
java
programação
Tags: #<Tag:0x00007fbf27ef9910> #<Tag:0x00007fbf27ef9780> #<Tag:0x00007fbf27ef95a0>

#1

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.


#2

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.


#3

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.


#4

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.


#5

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…