Formatação de datas [resolvido]

Olá

Gostaria de formatar uma data do formato aaaa-mm-dd para o formato :
14 de Junho de 2005 - terça-feira

Usando simpleDateFormat consigo isto ? como ?

Obrigado!

http://javaalmanac.com/egs/java.text/FormatDate.html

Poderá usar também o SimpleDateFormat passando uma String pattern com o formato que você deseja no caso “aaaa-MM-dd”

Estou olhando na api tentando encontrar como fazer

do formato aaa-mm-dd quero por extenso em portugues

como:
2005-06-14
para
14 de junho de 2005 - Segunda-Feira

que mascara passo para o SimpleDateFormat()

tenho este metodo no ejb e os erros abaixo relatados

Como sDataEvento e do tipo string imagino que exista algum metodo qeu possa fazer cast do sDataEvento
para tipo date fazendo com que este metodo funcione . alguma idéia?
Obrigado

public String getsDataEventoFormatada()
{
//a data vem do banco com formato AAAA-DD-MM
java.util.Date sDataAux = sDataEvento;
SimpleDateFormat formatador1 = new SimpleDateFormat(“dd/MM/yyyy”);
java.util.Date data1 = null;
data1 = formatador1.parse(this.sDataEvento);
return data1;
}

“Agenda.java”: Error #: 354 : incompatible types;
found: java.lang.String,
required: java.util.Date at line : java.util.Date sDataAux = sDataEvento;

“Agenda.java”: Error #: 354 :
incompatible types;
found: java.util.Date,
required: java.lang.String at line: return data1;

java.util.Date sDataAux = sDataEvento;

Vc tah tentando atribuir uma String a um tipo Date.

Ah! E o Javadoc falou q tá com saudades!

Vc tah tentando atribuir uma String a um tipo Date.

Sim estou tentando descobrir se posso fazer um cast ou como posso resolver para receber este valor do tipo string para date.

Obrigado

vai ficar algo mais ou menos assim:

public String minhaFuncaoQRetornaString()
{

   String minhaData = "1983-13-10";      
   Date date = new SimpleDateFormat("yyyy-dd-MM").parse(minhaData);      

   return new SimpleDateFormat("dd/MM/yyyy").format(date);

}

Funcionou para mim obrigado! mas retornou em ingles sabe como passar o locale para portugues :

abaixo o meu metodo :

public String getsDataEventoExtenso()
{
//a data vem do banco com formato AAAA-DD-MM
SimpleDateFormat df = new SimpleDateFormat();
String sDataAux = sDataEvento;
try {
df.applyPattern(“yyyy-MM-dd”);
Date myDate = df.parse(sDataAux);
df.applyPattern("‘Brasil’, EEEE, ‘dia’ dd ‘de’ MMMM ‘de’ yyyy.");
sDataAux = df.format(myDate);
} catch( ParseException e) {
e.printStackTrace();
}
return sDataAux;
}
Ex: Brasil, Thursday, dia 16 de June de 2005.

Tente isso:

  ...
  java.util.Locale locale = new java.util.Locale("pt","BR");
  SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd", locale);
  ...

E, por favor, coloque todo código postado entre tags code:wink:

Muito obrigado agora está funcionando perfeitamente!!!

[code] public String getsDataEventoExtenso()
{
//a data vem do banco com formato AAAA-DD-MM
java.util.Locale locale = new java.util.Locale(“pt”,“BR”);
SimpleDateFormat df = new SimpleDateFormat(“yyyy-MM-dd”, locale);
String sDataAux = sDataEvento;
try
{
Date myDate = df.parse(sDataAux);
df.applyPattern(“dd ‘de’ MMMM ‘de’ yyyy ‘-’ EEEE.”);
sDataAux = df.format(myDate);

            } catch( ParseException e) {
              e.printStackTrace();
            }
            return sDataAux;
}[/code]