Converter Data para String

Java

09/04/2009

Pessoal, Sei que este assunto já foi discutido em vários outros tópicos, mas mesmo lendo todos eles não consegui resolver o meu problema. Quando eu faço a leitura de um campo de data do banco de dados ele retorna no formato "yyyy-mm-dd". Já tentei utilizar o SimpleDateFormat, também tentei o método "parse" desta classe, mas não obtive sucesso. Se tento utilizar o "parse" dá mensagem que o conteúdo não é "parseável". Eu utilizei o "toString" e ele até consegue jogar a data para a String, mas fica no formato que coloquei acima, e eu quero que fique como "dd/mm/yyyy"... Alguém tem um exemplo de como posso fazer esta conversão mais facilmente?
Andvenancio

Andvenancio

Curtidas 0

Respostas

Matheus Trevizan

Matheus Trevizan

09/04/2009

Você retorna o campo de data como se fosse String ou Date? Como é a recuperação dos dados que você efetua?
GOSTEI 0
Andvenancio

Andvenancio

09/04/2009

Na "versão atual" está assim: Recuperação dos dados:
    ftData.setText(converteData(regUsuario.getdata());
O método "regUsuario.getdata()" busca a data diretamente do banco de dados. O valor retornado é "2006-12-31", ou seja, no formato "yyyy-mm-dd". O método "converteData" está definido assim:
    protected String converteData(java.util.Date dtData){
       SimpleDateFormat formatBra;   
       formatBra = new SimpleDateFormat("dd/MM/yyyy");
       try {
          java.util.Date newData = formatBra.parse(dtData.toString());
          return (formatBra.format(newData));
       } catch (ParseException Ex) {
          return "Erro na conversão da data";
       }
    }
Quando ele vai tentar fazer o "parse" dá erro.... Alguma sugestão ???
GOSTEI 0
Ronie Uliana

Ronie Uliana

09/04/2009

Digamos que a variável "date" é sua data, isso aqui deve funcionar (não testei):
SimpleDateFormat in= new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat out = new SimpleDateFormat("dd/MM/yyyy");

String result = out.format(in.parse(date.toString()));
Talvez desse pra colocar isso em um método pra fazer um utilitário do tipo: "converta do formato x para o y" ;)
GOSTEI 0
Andvenancio

Andvenancio

09/04/2009

Beleza! Funcionou do jeito que eu esperava! Muito obrigado!
GOSTEI 0
Andvenancio

Andvenancio

09/04/2009

Só mais uma coisa.... Na hora de buscar a data do banco de dados e converter para String deu certo ... Mas agora preciso setar uma String com a data atual ... Quando tento fazer isto dá erro no "parse", pois a data retornada pelo java.util.Date() é "Fri Jan 12 15:49:33 BRST 2007", e difere do formato que está sendo recebido ("in")... Como resolver?
GOSTEI 0
Dalton

Dalton

09/04/2009

Tchê, pensa um pouco :P Veja o exemplo do rmuliana (que por sinal anda sumido do JF)
SimpleDateFormat out = new SimpleDateFormat("dd/MM/yyyy");  
  
String result = out.format(new Date()); 
GOSTEI 0
POSTAR