use o java.util.Calendar e o java.text.SimpleDateFormat
faça um loop incrementando o dia do calendario cal.add(Calendar.DATE,1) e crie dois SimpleDateFormat, um com o padrão “dd/MM/yyyy” e outro com o padrão “EEEE”, use-os para imprimir a data e o dia da semana, respectivamente. Entendeu?!
D
DanielBadawiPJ
perfeitamente!
valeu cara!!
eu fiz aki e funcionou legal!
agora to fazendo uma funcionalidade a mais onde o método recebe uma data como parametro e retorna um List da semana correspondete, começando na Segunda e terminando no Domingo…
qdo eu terminar eu posto aqui como ficou!
valeu!
abraços!
D
DanielBadawiPJ
opa…
como prometi… aqui está o esquema q eu fiz…
eu ja coloquei num main() pra testar… quem quiser, eh soh copiar e rodar…
publicclassTesteListagem{publicSimpleDateFormatformatador=newSimpleDateFormat("dd/MM/yyyy");publicstaticvoidmain(String[]args){newTesteListagem();}publicTesteListagem(){Datedate=newDate();//String sdata = formatador.format(date);Stringsdata="18/03/2005";System.out.println("Passando Date como parametro: \n");for(Iteratoriter=listaSemana(date).iterator();iter.hasNext();){System.out.println(iter.next());}System.out.println("\nPassando String (formatada) como parametro: \n");for(Iteratoriter=listaSemana(sdata).iterator();iter.hasNext();){System.out.println(iter.next());}}publicListlistaSemana(Datedia){Listsemana=newArrayList();Calendarcal=Calendar.getInstance();cal.setTime(dia);intsegunda=cal.get(Calendar.DAY_OF_WEEK)-2;cal.add(Calendar.DAY_OF_MONTH,-segunda);intx=(cal.get(Calendar.DAY_OF_MONTH))+7;for(inti=cal.get(Calendar.DAY_OF_MONTH);i<x;i++){semana.add(formatador.format(cal.getTime()));cal.add(Calendar.DAY_OF_MONTH,1);}returnsemana;}publicListlistaSemana(Stringdia){Datedata=null;try{data=formatador.parse(dia);returnlistaSemana(data);}catch(java.text.ParseExceptionpe){System.err.println("Ocorreu erro ao transformar a data");pe.printStackTrace(System.err);returnnull;}}}