Title: Date
Prezados,
 
Esta mensagem saiu na lista Enterprise do SouJava. Ela mostra um exemplo de uso da Classe Calendar e mostra um problema interessante dela, com relacao a forma como ela mostra os meses, ou seja, 0 = janeiro e assim vai. Os meses n�o s�o retornados de 1..12 e sim de 0..11.
 
No caso do J2SE o programador pode usar a classe SimpleDateFormat para formatar o resultado da data a ser mostrada em tela, mas no nosso caso, no J2ME, tem que ser no CALENDAR.MONTH e tal mesmo. Muitas vezes vamos nos defrontar com coisas simples que funcionam no J2SE que n�o temos no uso do J2ME. Mas tudo isto faz parte para se ter uma API com o necess�rio.
 
Outra coisa interessante que voc�s ver�o na mensagem abaixo:
String dat_atual = Integer.toString(cal.get(Calendar.DATE))+"/"+ Integer.toString(cal.get(Calendar.MONTH))+"/"+Integer.toString(cal.get(Calendar.YEAR));
 
Tomem cuidado com atribui��es constantes para objetos da classe String. Prefiram usar a classe StringBuffer para melhorar o desempenho e aloca��o de recursos da aplica��o.
 
Era isto, cuidado com a classe Calendar e com o uso da classe String.
 
Daniel Wildt
---------------------------------------------------------
[EMAIL PROTECTED]   http://www.geocities.com/dwildt2
ICQ: 17810666                     MSN: [EMAIL PROTECTED]
---------------------------------------------------------
                   Bluestar Inform�tica                 
Borland Solution Partner         Borland Learning Partner
http://www.bluestar.inf.br  [EMAIL PROTECTED]
---------------------------------------------------------
 
 
----- Original Message -----
Sent: Saturday, May 31, 2003 10:34 AM
Subject: Re: [enterprise-list] Date

Calendar.MONTH n�o corresponde a um n�mero de 1 a 12, mas sim a uma lista de valores: Calendar.JANUARY, Calendar.FEBRUARY, e assim por diante. S� que janeiro corresponde a 0, por isso est� dando esse "erro". Tente, em lugar de imprimir a data assim, usar:
 
Calendar cal = Calendar.getInstance ( );
Date date = cal.getTime ( );
System.out.println ( new SimpleDateFormat ( "dd/MM/yyyy" ).format ( date ) );

---
Jonatan Schroeder
Medisoft Ltda.
Desenvolvimento de Sistemas
[EMAIL PROTECTED]
----- Original Message -----
Sent: Tuesday, May 27, 2003 11:30 AM
Subject: [enterprise-list] Date

Pessoal Alguem  pode me ajudar.

Minha m�quina est� com a data do sistema operacional = '27/05/2003'
Quando eu estancio a classe Calendar, ele me resulta '27/04/2003'
Se eu mudar p/ um mes adiante a data do SO da minha m�quina ele me resulta a data (correta - hoje) = '27/05/2003'

Calendar cal = Calendar.getInstance();
String dat_atual = Integer.toString(cal.get(Calendar.DATE))+"/"+ Integer.toString(cal.get(Calendar.MONTH))+"/"+Integer.toString(cal.get(Calendar.YEAR));

System.out.println("Data Atual: " + dat_atual.toString());


obrigado
Antonio Carlos S. Costa

Responder a