Descobrir intervalos de datas no mes

5 respostas
J

Ola PEssoal,
eu tenho uma lista no qual possui data inicio e data fim.
Preciso saber quais intevalos existem entre essas datas e completar com novos intervalos refente ao mes que passo.
Nesse caso o exemplo é de janeiro 2012.
Eu tenho uma lista que contem todas as datas e horarios do mes, mas não estou conseguindo achar os intervalos, se vc poder me ajudar agradeço.
Eu coloquei em negrito os dados que tenho que colocar na minha lista por exemplo.

Vlw mano

Codigo Aluno
1632 01/01/12 00:00:00,000000000 -02:00 01/01/12 16:00:00,000000000 -02:00 100%

01/01/12 17:00:00,000000000 -02:00 02/01/12 20:00:00,000000000 -02:00 60%
02/01/12 21:00:00,000000000 -02:00 15/01/12 02:00:00,000000000 -02:00 100%
15/01/12 03:00:00,000000000 -02:00 15/01/12 21:00:00,000000000 -02:00 20%
15/01/12 22:00:00,000000000 -02:00 31/01/12 23:00:00,000000000 -02:00 100%
2445 01/01/12 17:00:00,000000000 -02:00 02/01/12 20:00:00,000000000 -02:00 40%
15/01/12 03:00:00,000000000 -02:00 15/01/12 21:00:00,000000000 -02:00 80%
15/01/12 22:00:[telefone removido] -02:00 31/01/12 23:00:00,000000000 -02:00 100%

5 Respostas

thiagof

Não entendi direito…

se você ordenar essa sua lista, talvez consiga os intervalos :slight_smile:

não sei se é isso o que vc precisa, mas posta mais detalhes aee
Talvez possamos ajudá-lo :smiley:

J

então eu já tenho essa lista ordenada porém falta saber qual periodo falta para completar o mes exemplo:

01/01/2012 04:00:00 até 02/01/2012 18:00

Então na teoria faltaria essas duas linhas:

01/01/2012 00:00:00 até 01/01/2012 03:00:00
02/01/2012 19:00:00 até 31/01/2012 23:00:00

Obrigado.

thiagof

Hehehe

éééé realmente complicado hen :lol:

e se vc usar o método java.util.Date.getTime() ???

ele te retorna um valor long da data, ai vc pode manipular tudo como se fossem números, ou seja
se o valor [telefone removido] representa a data 01/01/2012 00:00:00
e o valor [telefone removido] representa a data 31/01/2012 23:00:00

você poderia utilizar soma, subtração e divisão nos valores que vc tem para descobrir as horas que faltam…

complexo hen mas acho mais fácil transformar tudo em numero e fazer cálculos do que utilizar datas propriamente ditas :smiley:

desculpa não poder ajudar mais :frowning:

J

o problema de fazer vários calculos, é o pmd checkstyle, ficam mtos if no codigo.

thiagof

é, tem razão :frowning:

mas ai é só questão de otimizar o seu algoritmo :smiley:

pensa no assunto do getTime() um pouco, faz alguns debugs para ver quanto vale 1 dia e 1 hora… Eu acredito que ele seja uma boa ideia, utilize algumas constantes para definir o long que representa uma hora, um dia e um mês e vai fazendo cálculos com as suas datas e essas constantes, pode ser que dê para otimizar muita coisa, e se for postando aqui o seu algoritmo, a galera vai sugerindo melhoria e tals :smiley:

Aaaahhhh!!!

e quando resolver esse seu problema, posta ai o algoritmo para que outras pessoas que estejam na mesma situação no futuro tenham uma luz para se guiar :wink:

Criado 17 de abril de 2012
Ultima resposta 17 de abr. de 2012
Respostas 5
Participantes 2