Pessoal,
tenho um metodo que recebe uma data e quero que retorne a segunda-feira desta semana.
ex: passo para o metodo 30/01/2004 e ele me retorna 26/01/2004.
alguem tem algum exemplo???
valeu
Pessoal,
tenho um metodo que recebe uma data e quero que retorne a segunda-feira desta semana.
ex: passo para o metodo 30/01/2004 e ele me retorna 26/01/2004.
alguem tem algum exemplo???
valeu
Colocar a data num Calendar, e enquanto o dia da semana não for segunda, subtrair 1 dia da data?!
Eu fiquei curioso e escrevi uma “classezinha” pra testar. Eis o resultado:
[code]import java.util.*;
public class Segunda {
public static void main(String[] args) {
Calendar cal = previousMonday(new GregorianCalendar());
System.out.println(cal);
}
public static Calendar previousMonday(Calendar calendar) {
Calendar c = (Calendar)calendar.clone();
while (c.get(Calendar.DAY_OF_WEEK) != Calendar.MONDAY)
c.add(Calendar.DATE, -1);
return c;
}
}
[/code]
Repare que vc estará passando para o método previousMonday() um objeto GregorianCalendar que representa a data atual na localidade padrão (que é hoje, 30/01/2004).
No resultado, repare os campos DAY_OF_MONTH=26, DAY_OF_YEAR=26 e DAY_OF_WEEK=2.
O resultado exato que você quer.