Verificar quantidade de horas entre data inicial e data final

4 respostas
juliocesarsrosa

Ola pessoa, estou com um problema, tenho que verificar a quantidade de horas entre uma data inicial e uma final, estou pegando milisegundos mais quando subtraio a inicial da final, me da o resultado esperado, porem quando verifico nao funfa… alguem saberia me ajudar??

Grato !!!

public static void main(String[] args) throws ParseException {
			
			JobGroup jobGroup = new JobGroup();

		
			SimpleDateFormat formatador = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");

			jobGroup.setStartTime(formatador.parse("20/06/2013 22:00:00"));
				jobGroup.setEndTime(formatador.parse("21/06/2013 23:30:00"));
			
			Calendar startCronCalendar = Calendar.getInstance();
			Calendar endCronCalendar = Calendar.getInstance();
			startCronCalendar.setTime(jobGroup.getStartTime());
			endCronCalendar.setTime(jobGroup.getEndTime());
			
			long teste =(startCronCalendar.getTimeInMillis());
			long teste2=(endCronCalendar.getTimeInMillis());
			long teste3=(teste-teste2);
				System.out.println(teste3);
				
			if(teste3 < 24*60*60*1000){ // aqui no caso tenho  mais de 24 horas portanto deveria cair no else, porem cai na primeira condicao
				System.out.println("certinho");
			}else{
				System.out.println("nop");
			}

		}

4 Respostas

juliocesarsrosa

Aguardo a ajuda

juliocesarsrosa

Rodrigo_Sasaki

Se puder usar o JodaTime eu recomendo, como sempre. É muito mais fácil e intuitivo de usar, inclusive tem um método justamente pra isso.

Agora se não puder pode tentar algum método utilitário. Algo assim:public static long horasEntre(Date d1, Date d2) { long diferenca = Math.abs(d2.getTime() - d1.getTime()); return diferenca / 1000 / 60 / 60; }

M

Já foi resolvido em outro topico. Espero que resolva o seu

Criado 24 de junho de 2013
Ultima resposta 25 de jun. de 2013
Respostas 4
Participantes 3