Calendar (Setar somente a hora)

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