opa pessoal…
alguem sabe um jeito de se listar a semana corrente?
por exemplo… hj é dia 25/05/2005…
o q eu queria era listar fazer a sequinte listagem na tela…
|…segunda…|…terça…|…quarta…|…quinta…|…sexta…|…sabado …|…domingo…|
| 23/05/2005 | 24/05/2005 | 25/05/2005 | 26/05/2005/ | 27/05/2005 | 28/05/2005 | 29/05/2005 |
minha cabeça nao ta funcionando hj e to sem ideia de como implementar isso…
qualquer ajuda, eu agradeço mto!
abraços!
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?!
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!
opa…
como prometi… aqui está o esquema q eu fiz…
eu ja coloquei num main() pra testar… quem quiser, eh soh copiar e rodar…
public class TesteListagem {
public SimpleDateFormat formatador = new SimpleDateFormat("dd/MM/yyyy");
public static void main(String[] args) {
new TesteListagem();
}
public TesteListagem() {
Date date = new Date();
//String sdata = formatador.format(date);
String sdata = "18/03/2005";
System.out.println("Passando Date como parametro: \n");
for(Iterator iter=listaSemana(date).iterator();iter.hasNext();) {
System.out.println(iter.next());
}
System.out.println("\nPassando String (formatada) como parametro: \n");
for(Iterator iter=listaSemana(sdata).iterator();iter.hasNext();) {
System.out.println(iter.next());
}
}
public List listaSemana(Date dia) {
List semana = new ArrayList();
Calendar cal = Calendar.getInstance();
cal.setTime(dia);
int segunda = cal.get(Calendar.DAY_OF_WEEK) -2;
cal.add(Calendar.DAY_OF_MONTH, - segunda);
int x = (cal.get(Calendar.DAY_OF_MONTH)) + 7;
for(int i = cal.get(Calendar.DAY_OF_MONTH); i<x; i++) {
semana.add(formatador.format(cal.getTime()));
cal.add(Calendar.DAY_OF_MONTH,1);
}
return semana;
}
public List listaSemana(String dia) {
Date data = null;
try {
data = formatador.parse(dia);
return listaSemana(data);
} catch (java.text.ParseException pe) {
System.err.println("Ocorreu erro ao transformar a data");
pe.printStackTrace(System.err);
return null;
}
}
}
abraços!