Calendar para SimpleDateFormat

7 respostas
mateuscs

Boa tarde,

Pessoal, estou com uma dúvida em relação ao um parse.
Há como fazer direto uma conversão de Caledar para SimpleDateFormat.
A lógica seria fazer a exibição de um SimpleDateFormat, pegando o conteúdo de um objeto Calendar.

Obrigado
At.

7 Respostas

drsmachado

Não.
Não há um método do SimpleDateFormat que faça formatação, recebendo como argumento um objeto Calendar.

mateuscs

drsmachado,

Obrigado cara.
Uma outra pergunta se não fugir muito do assunto, e para discutir meios.

Como poderia mostar uma data no formato dd/mm/yyyy, do meu objeto Calendar?

Faço uma conversão em String através de DAY_OF_MONTH, MONTH, YEAR?

tuliomonteazul

Você quer formatar o conteúdo do Calendar utilizando SimpleDateFormat?
Utilize o getTime() que retorna um objeto Date.

Calendar calendar = new GregorianCalendar();
SimpleDateFormat dateFormat = new SimpleDateFormat();
dateFormat.format(calendar.getTime());
JM4X

Assim:

Calendar c = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
String s = sdf.format(c.getTime());

FONTE: http://download.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html

mateuscs

Certo, agora se eu precisar retornar somente valores Date para o banco e fazer operações em Date em JAVA.

Transformando tudo isso em string não seria uma “gambiarra”?

tuliomonteazul

Seria sim. A formatação em String é pra você exibir a data para o usuário.
Pro banco, se for com JDBC acho que basta utilizar java.sql.Date.
Para fazer operações no Java você deve utilizar a classe Calendar mesmo.

Lembrando que você também pode representar uma Data através de um long. O método getTime() da classe Date retorna os milisegundos da data em um long. Assim como o getTimeInMillis() da classe Calendar.

mateuscs

Pra exibir pro usuário então seria melhor fazer um metódo toString?

Criado 20 de julho de 2011
Ultima resposta 20 de jul. de 2011
Respostas 7
Participantes 4