Formatar datas

5 respostas
A

Oi !

Existe algum método pronto em java para formatar datas do formato aaa-mm-dd para o formato :
13 de Junho de 2005 - Segunda-feira

ou algo equivalente? que calcule o dia da semana e o mes do ano de acordo com ao data fornecida

obrigado

5 Respostas

F

Dê uma olhada em java.text.SimpleDateFormat.

A

Bom, as bibliotecas em java para datas e horas são as seguintes:

  • java.util.Date;
  • java.util.Calendar;
  • java.util.GregorianCalendar;
  • java.util.TimeZone;
  • java.util.SimpleTimeZone;
  • java.text.DateFormat;
  • java.text.SimpleDateFormat;
  • java.text.DateFormatSymbols;
  • java.sql.Time;
  • java.sql.Date;
  • java.sql.TimeStamp;

Ufa! Dê uma lida em cada uma na API e veja qual a melhor se enquadra às suas necessidades. Até…

A

na verdade vou buscar a que possa transformar o mes do formato numérico para extenso em portugues e outra que mostre por extenso o dia da semana em portugues

obrigado a todos pelas informações.

A

tenho o metodo abaixo 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;
N

“agrg”:
tenho o metodo abaixo 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;</blockquote>

Irmão,

tenta fazer:

public String getsDataEventoFormatada() { String formatoData = "dd/MM/yy HH:mm"; // formato que você quer StringBuffer buf = new StringBuffer(); SimpleDateFormat formatador = new SimpleDateFormat(formatoData); formatador.setLenient(false); Date sDataAux = new Date(); // ou outra data passada como parâmetro formatador.format(sDataAux, buf, new FieldPosition(0)); return buf.toString(); }

Isso aí está no livro Jakarta Pitfalls. Para fazer o que você quer, dê uma olhada no api do SimpleDateFormat (http://java.sun.com/j2se/1.3/docs/api/java/text/SimpleDateFormat.html)

Paz!

Criado 13 de junho de 2005
Ultima resposta 15 de jun. de 2005
Respostas 5
Participantes 4