Preciso criar um método onde eu passe a semana(numero da semana) e o ano e ele me retorna o dia/mes/ano do inicio e fim da semana…
Consegui fazer reiventado a roda, mas acredito que a API me forneça formas mais elegantes…
Dei uma olhada no GregorianCalendar e vi que é possivel eu saber o numero da semana apartir de uma data(além de um monte outras informações)… só que o que eu vou ter pra chegar nisso é o numero da semana e o ano…
GregorianCalendardata=newGregorianCalendar();data.set(Calendar.YEAR,ano_que_vc_tem);data.setFirstDayOfWeek(Calendar.SUNDAY);data.set(Calendar.WEEK_OF_YEAR,numero_da_semana_q_vc_tem);data.set(Calendar.DAY_OF_WEEK,Calendar.SUNDAY);/* Agora é só pegar as informações que você quiser sobre o primeiro dia da semana */data.set(Calendar.DAY_OF_WEEK,Calendar.SATURDAY);/* Agora é só pegar as informações que você quiser sobre o último dia da semana */
Acho que é isso… Qualquer coisa é só falar…
R
RodrigoSol
Valeu Baiano!!!
Vou testar depois post o feedback.
Já testei!!! Deu certo Mesmo.
T
tuxx
Uma dica por favor RodrigoSol
Desculpa a ignorancia mas eu estou precisando exatamente deste resultado., que eu entre com a semana e ele me devolva o intervalo das datas pertencentes a semena, mas não consegui imprimir esse resultado como codigo postado a cima, pois não consigui converter GregorianCalendar para java.util.date???..
Grato
G
guicarrer
Prezados, estou em duvida do codigo que foi utilizado para imprimir a relacao de semanas.
Pois no sistema que estou fazendo, o dia em que o usuario entrar no sistema, terei que saber quando começou e terminará a semana, podem me ajudar?
obrigado.
Fiz esse método combinando as dicas do pessoal acima.
publicstaticDatedataGB;//Função que calcula o dia que começou a semana e o dia que terminara.publicstaticDatedia_inicial_final_semana(booleanisPrimeiro){//Seta a data atual.dataGB=newDate();GregorianCalendarcalendar=newGregorianCalendar();//Define que a semana começa no domingo.calendar.setFirstDayOfWeek(Calendar.SUNDAY);//Define a data atual.calendar.setTime(dataGB);if(isPrimeiro){calendar.set(Calendar.DAY_OF_WEEK,Calendar.SUNDAY);}else{calendar.set(Calendar.DAY_OF_WEEK,Calendar.SATURDAY);}returncalendar.getTime();}
No meu caso usei esse método para dar um select com between no banco.