[Resolvido]Formatar data

Olá pessoal,

Estou tendo problemas, para mostrar a data vindo do banco de bados(MySQL) que está no formato 2011-12-31. Tenho que apresentar a data nesse formato 31/12/2011.
Estou fazendo da seguinte forma:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
ProcessoFormBean processoFormBean = new ProcessoFormBean();
try {
			processoFormBean.setDataEntradaDocumento(sdf.parse(processo.getDataEntradaDocumento().toString()));
		} catch (ParseException e) {			
			e.printStackTrace();
		}

Tive que colocar a data nesse formato new SimpleDateFormat(“yyyy-MM-dd”) por que é assim que esta no banco. Se eu colocar nesse formato new SimpleDateFormat(“dd/MM/yyyy”) recebo uma exception Unparseable date.

Como faria para mostrar a data desta forma 31/12/2011.

Obrigado.

tenta formatar a data duas vezes

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
ProcessoFormBean processoFormBean = new ProcessoFormBean();
try {
			processoFormBean.setDataEntradaDocumento(sdf.parse(processo.getDataEntradaDocumento().toString()));
                        sdf.applyPattern("dd/MM/yyyy");
                        sdf.format(processoFormBean.getDataEntradaDocumento());
		} catch (ParseException e) {			
			e.printStackTrace();
		}

Tem um artigo do guj que explica isso.

caio.gaspar, fiz da forma que vc indicou, e a formatação apareceu assim: Mon Jan 01 00:00:00 BRT 1900.

joede.fadel, tinha lido esse tutotial antes, seguindo o tutorial, e como expliquei antes, recebi uma exception Unparseable date. Por a data ser armazanada no banco no formato yyyy-MM-dd por isso não consigo apresentar no formato que preciso que seria dd/MM/yyyy.

gabriel

esse codigo imprime na tela a data formatada.

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date dat = new Date();
        try
        {
            dat = sdf.parse("2011-01-20");
            sdf.applyPattern("dd/MM/yyyy");
            System.out.println(sdf.format(dat));
        }
        catch(ParseException e)
        {
            e.printStackTrace();
        }

De uma olhada neste código

try { Date d = new Date(); SimpleDateFormat s = new SimpleDateFormat("dd/MM/yyyy"); System.out.println(s.format(d)); System.out.println(s.parse(s.format(d))); } catch (ParseException e) { }

Obrigado joede.fadel

Resolveu o problema. Tive que mudar o meu atributo da minha classe dataEntradaDocumento que era do tipo Date para String. Pois o metodo format de SimpleDateFormat retorna uma String. Agora ficou correto a apresentação da data Ex.:20/01/2011.

:slight_smile: