De fato, você não pode usar Date e sim Calendar, e você não pode usar ++.
Queria saber se a sua idéia é incrementar um dia de cada vez. Se for isso, um exemplo:
Na verdade, esqueci de especificar algo bem importante… o meu for incrementa de hora em hora, no caso estou trabalhando espcificamente com horas de um dia, e nao com dias…
como ficaria?
E
entanglement
Bom, em vez de usar cal.add (Calendar.DATE, 1), use cal.add (Calendar.HOUR_OF_DAY, 1)
drsmachado
Na verdade, até da para fazer com Date e somar (não incrementar 1).
Lembre-se que o java considera a instância de java.util.Date como sendo o tempo, em milissegundos, decorridos de 01/01/1970 00:00:00 até o momento em que a instância foi criada e/ou de acordo com os parâmetros passados ao construtor.
Assim sendo, é possível converter em um long (o método getTime, da classe java.util.Date retorna um valor long) e realizar o incremento de horas, considerando que:
1 s = 1000 ms
1 m = 60 s
1 h = 60 m
1000 * 60 * 60 = 360000 ms
Claro, este é o método hardcore…
E
entanglement
Amigos, há crianças na sala…
De qualquer forma, usar Calendar.add deve levar em conta aqueles probleminhas chatos de horário de verão…
juliocesarsrosa
bom tentei mais ainda sim há um problema…
Segue o meu codigo
SimpleDateFormatformatador=newSimpleDateFormat("HH:mm:ss");jobGroup.setStartTime(formatador.parse("23:09:00"));jobGroup.setEndTime(formatador.parse("23:05:00"));startCronCalendar.setTime(jobGroup.getStartTime());endCronCalendar.setTime(jobGroup.getEndTime());//esse fluxo precisa fazer com que o start time cruze o limite diario e chegue até o endTime//Ex: 23,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23while(startCronCalendar.after(endCronCalendar)){//Faca o que eu precisostartCronCalendar.add(Calendar.HOUR_OF_DAY,1);}
Esta em looping infinito, alguem consegue me ajudar?
drsmachado
juliocesarsrosa:
bom tentei mais ainda sim há um problema…
Segue o meu codigo
SimpleDateFormatformatador=newSimpleDateFormat("HH:mm:ss");jobGroup.setStartTime(formatador.parse("23:09:00"));jobGroup.setEndTime(formatador.parse("23:05:00"));startCronCalendar.setTime(jobGroup.getStartTime());endCronCalendar.setTime(jobGroup.getEndTime());//esse fluxo precisa fazer com que o start time cruze o limite diario e chegue até o endTime//Ex: 23,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23while(startCronCalendar.after(endCronCalendar)){//Faca o que eu precisostartCronCalendar.add(Calendar.HOUR_OF_DAY,1);}
Esta em looping infinito, alguem consegue me ajudar?