Formatação de datas [resolvido]

10 respostas
amrigo

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!

10 Respostas

Mauricio_Linhares

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

Grinvon

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

amrigo

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()

amrigo

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;
Diogenes
java.util.Date sDataAux = sDataEvento;

Vc tah tentando atribuir uma String a um tipo Date.

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

amrigo

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

Diogenes

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);

}
amrigo

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.
Diogenes

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:

amrigo

Muito obrigado agora está funcionando perfeitamente!!!

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;
	}
Criado 14 de junho de 2005
Ultima resposta 15 de jun. de 2005
Respostas 10
Participantes 4