Estou tendo problemas ao instanciar um novo objeto da classe Date.
Veja:
Date data = new Date(83,3,2);
// instanciado novo objeto da classe Date com a data 02/03/1983
DateFormat formataData = DateFormat.getDateInstance(DateFormat.DEFAULT, new Locale("pt","BR");
// formatador da data
Ao meu ver, a linha:
System.out.println(formataData.format(data));
deveria retornar a saída:
02/03/1983
mas não sei por que cargas d'água retorna:
02/04/1983
Alguém sabe me explicar porque o objeto é instanciado com mês de ABRIL se eu forneci mês 3 no construtor?
Caso insista em usar veja que meses começam em zero.
O que você precisa é java.util.Calendar.
Phillip, eu vi isso. Mas olhando a documentação do Calendar, não compreendi como ele funciona.
Além do mais, mesmo fornecendo o mês com “03”, na hora de retornar, retorna abril. Isso porque o argumento é do tipo int, portanto, tanto faz “3” ou “03”.
Quanto à classe Calendar, dá pra me dar uma breve explicação de como funciona? Ficaria muito grato!
Abraços!
pcalcado
Eu falei que ele começa em 0, não que o algarismo começa em zero
0=Janeiro
1=Fevereiro
…
11=Dezembro
E sobre Calendar você vai encontrar mais no fórum do GUJ numa pesquisa que eu conseguiria descrever aqui
R
renatolima
Não tem muita dificuldade não:
Calendarcal=Calendar.getInstance();Datehoje=newDate();// Data e hora correntecal.setTime(hoje);dia=cal.get(Calendar.DAY_OF_MONTH);mes=cal.get(Calendar.MONTH);ano=cal.get(Calendar.YEAR);