Fórum Converter Data para String #565170

09/04/2009

0

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

Responder

Posts

09/04/2009

Matheus Trevizan

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

Gostei + 0

09/04/2009

Andvenancio

Na "versão atual" está assim: Recuperação dos dados:
1
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:
1
2
3
4
5
6
7
8
9
10
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 ???
Responder

Gostei + 0

09/04/2009

Ronie Uliana

Digamos que a variável "date" é sua data, isso aqui deve funcionar (não testei):
1
2
3
4
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" ;)
Responder

Gostei + 0

09/04/2009

Andvenancio

Beleza! Funcionou do jeito que eu esperava! Muito obrigado!
Responder

Gostei + 0

09/04/2009

Andvenancio

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?
Responder

Gostei + 0

09/04/2009

Dalton

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

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar