Fazendo um loop de datas, de um determinado periodo! Como fazer? [Resolvido]
9 respostas
Pilantra
Olá,
Eu preciso fazer um loop de datas de um determinado periodo, por exemplo, O usuário escolhe um periodo de 01/01/2007 a 15/02/2007!!!
Como eu poderia fazer isso? Eu preciso fazer isso para uma tela de correção de ponto, e precisa listar o periodo inteiro mesmo que não tenha registro no banco, se não tiver registro no banco, é porque ele faltou por isso precisa ser listado todos hehehe!!
Hum, acho que entendi. Vou tentar fazer um esquema aqui. Mas se alguém tiver mais idéias por favor me fale.
Obrigado.
cassio
Faz um laço, adicionando de um em um dia, da data inicial até a final. A cada dia adicionado, você verifica se o resultado ainda é uma data anterior à que você definiu como final do intervalo. Não tenho certeza, mas acho que esse método acaba cuidando das viradas de ano, meses com 28 / 30 / 31 dias, etc.
Se eu não usar o loop, ele funciona perfeitamente, eu vou setando a variavel i manualmente e ele calcula certinho. Mas dentro do loop fica todo bagunçado assim. Alguém sabe me dizer porque? =\
Pilantra
heheheheh que erro!!! Valeu cara, deu certo agora!!!
Abraços.
R
rdgc
No link que o cassio passou, vc encontra os métodos necessários para manipulação de datas…
Na api do Calendar, tem o ‘DAY_OF_YEAR’, vc pode utilizá-lo para identificar os dias no ano e ir de um até o outro por um laço (for, while, do…while,…). Se for utilizar o DAY_OF_YEAR, cuidado com a virada de ano.
flw!
R
rdgc
O problema está na soma do “i” a sua data.
Assim, vc está somando 1 no dia 01/01, depois está somando 2 no dia 02/01, depois está somando 3 no dia 04/01…
Altere seu código para somar 1 em vez de “i” no for…