Data Atual

Existe algum método da classe Date ou Calendar que me retorne a data do dia …"04/03/2003" ???





Obrigado!





Felipe

tem o seguinte metodo



getTime que retorna um objeto Date



blz

Só para completar, é o getTime da classe calendar. Entretanto se vc instanciar uma objeto da classe Date(new Date()) não vai precisar usar Calendar.



valeuz…

Acredito que o método mais recomendado para criar um objeto Date a partir de um String seja o DateFormat.parse(String)

Eu utilizo o seguinte código (talvez usando internacionalização haja uma maneira mais elegante):



/**

* Pega a data de hoje.

* @return String no formato dd-mm-aaaa

/

public static String hoje()

{

GregorianCalendar cal = new GregorianCalendar();

int dia = cal.get(Calendar.DATE);

int mes = cal.get(Calendar.MONTH) + 1;

int ano = cal.get(Calendar.YEAR);

return strzero(dia,2) + "/" + strzero(mes,2) + "/" + ano;

}



/
*

* Preenche com zeros à esquerda até o tamanho n.

*/

public static String strzero(int num, int n)

{

return strzero(String.valueOf(num), n);

}



public static String strzero(String s, int n)

{

if(s.length() >= n)

return s.substring(0, n);

StringBuffer buf = new StringBuffer();

for(int i = 0; i < n - s.length(); i++)

buf.append(´0´);

buf.append(s);

return buf.toString();

}





Para a Dia Corrente você poderia fazer assim:



java.text.DateFormat df = new java.text.SimpleDateFormat("dd/MM/yyyy");

String strDia = df.format(new java.util.Date());



Para dias que não sejam o dia corrente (como o dia que você passou), faça assim:



java.util.Calenadar dia = new java.util.GregorianCalendar(4, Calendar.MARCH, 2003);

java.text.DateFormat df = new java.text.SimpleDateFormat("dd/MM/yyyy");

String strDia = df.format(dia.getTime());



Para mais detalhes veja as APIs de DateFormat, SimpleDateFormat, Calendar e GregorianCalendar.



Boa sorte,



Rafael Ubiratam Clemente Afonso

Java 2 Certified Programmer

[ Esta mensagem foi editada por: rucafonso em 09-03-2003 15:41 ]