Olá Pessoal,
Ainda estou apanhando com o Calendar, ja coloque um tópico com uma dúvida de como fazer o calculo com a difirença entre horas, foi falado para usar a Classe Calendar do java, porém gostaria de saber como faço para setar somente a hora e minuto, e não com todos os dados como dia, mes e ano juntos.
Muito Atenciosamente,
Paulo
Usando set:
http://java.sun.com/j2se/1.5.0/docs/api/java/util/Calendar.html#set(int,%20int)
Calendar cal = new GregorianCalendar();
cal.set(Calendar.HOUR_OF_DAY, 20);
Maúricio,
Valeu pela dica porém ainda não está dando certo, fiz e a diferença entre horas não está dando certo, veja o meu código:
SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm");
Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
cal1.set(cal1.HOUR_OF_DAY, 8);
cal1.set(cal1.MINUTE, 0);
cal2.set(cal2.HOUR_OF_DAY, 9);
cal2.set(cal2.MINUTE, 0);
Long dif = cal2.getTimeInMillis() - cal1.getTimeInMillis();
Calendar cal3 = Calendar.getInstance();
cal3.setTimeInMillis(dif);
System.out.println(dateFormat.format(cal1.getTime()));
System.out.println(dateFormat.format(cal2.getTime()));
System.out.println(dateFormat.format(dif));
O resultado que dá são 22:00 e não 01:00.
Valeu,
Pauçlo
Por isso que eu sempre digo que todo mundo tem que ler a documentação…
A contagem da classe Date ou Calendar em Java começa no dia primeiro de janeiro de 1970, se você der um toString() nesse objeto dif, vai perceber que é 01:00 01/01/1970, e com certeza não era essa data que você esperava encontrar, era?
Veja isso aqui:
http://www.javaalmanac.com/egs/java.util/CompDates.html