[RESOLVIDO] Comparar Hora

Preciso de um pequeno algoritmo que resolva o seguinte problema:
segue meu método

[code] public void calenadrioa(String horaAtual) {
SimpleDateFormat sdfConvert = new SimpleDateFormat(“HH:mm”);
Date hora = null;
Date x = new Date();
try {
hora = sdfConvert.parse(“10:55”);
} catch (ParseException ex) {
Logger.getLogger(CadastroConsulta.class.getName()).log(Level.SEVERE, null, ex);
}

    GregorianCalendar gc = new GregorianCalendar();
    gc.setTime(hora);

    SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
    System.out.println(sdf.format(gc.getTime()));

    gc.add(Calendar.MINUTE, 10);
    String minutosDepois = sdf.format(gc.getTime());
    System.out.println(minutosDepois);
            
    gc.add(Calendar.MINUTE, 2* -10);
    String minutosAntes = sdf.format(gc.getTime());
    System.out.println(minutosAntes);
            
    // Verificar se horaAtual está no periodo de minutosAntes ate minutosDepois
      
    } [/code]

E na verdade é disso que eu preciso Verificar se horaAtual está no intervalo de minutosAntes ate minutosDepois :!:
Tentei olhar documentações do JAVA e não consegui… alguem alguma dica ae ?
:roll:

Tem certeza? As datas tem o método after (que significa depois) e before, que significa antes… então, qual é a dúvida?

Seguinte:
Passei por parâmetro uma variável horaAtual, preciso checar se essa hora esta dentro de
16:30 … a … 16:50
Se a horaAtual, estiver dentre 16:30 … a … 16:50 não poderá cumprir a tarefa!

To tentando algo assim, mas não to conseguindo andar mais pra frente!

       // Continuando o algoritmo de cima!

        if ((gc.after(minutosAntes)) && (gc.before(minutosDepois))){
            System.out.print(" Não pode fazer tarefa!");
        } 

Você está comparando o contrário do que está dizendo…

Verdade arrumei … :oops:

:!: Help-Me

Uma opção é usar o Joda Time para realizar esse tipo de cálculo:

DateTime minutosAntes = new DateTime().minusMinutes(10);
DateTime minutosDepois = new DateTime().plusMinutes(10);

Interval intervalo = new Interval(minutosAntes, minutosDepois);

DateTime hora = new DateTime().withTime(10, 55, 0, 0);

if (intervalo.contains(hora))
  // hora está dentro do intervalo.

Sei que o Joda Time parece ser a melhor opção mesmo (visto as mensagens aqui no fórum).
Mas seria possível essa comparação com o Calendar embutido do JAVA mesmo ?

Pelo que entedi acho que da pra resolver assim:

Pegando o time das datas (getTime) e comparando se a sua data está entre eles?

Ex:

[code]

SimpleDateFormat formatador = new SimpleDateFormat(“HH:mm”);
Date dMin = formatador.parse(“15:30”);
Date dMax = formatador.parse(“16:30”);

Date dAgora = new Date();

if (dAgora.getTime() > dMin.getTime() && dAgora.getTime() < dMax.getTime() ){

}
else
{

}[/code]

pow galera Vlw ae, mas acho que consegui resolver meu problema!
ficou meio grande, mas axo que da pra usar

public void calenadrioa(long horaAtual) {
        SimpleDateFormat sdfConvert = new SimpleDateFormat("HH:mm");
        Date hora = null;
        try {
            hora = sdfConvert.parse("10:55");
        } catch (ParseException ex) {
            Logger.getLogger(CadastroConsulta.class.getName()).log(Level.SEVERE, null, ex);
        }

        GregorianCalendar gc = new GregorianCalendar();
        gc.setTime(hora);

        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
        long tempAgora = gc.getTimeInMillis();
      //  System.out.println(sdf.format(gc.getTime()));
       // System.out.println(tempAgora);

        gc.add(Calendar.MINUTE, 10);
        String minutosDepois = sdf.format(gc.getTime());
        long tempDepois = gc.getTimeInMillis();
   //     System.out.println(minutosDepois);
       // System.out.println(tempDepois);

        gc.add(Calendar.MINUTE, 2* -10);
        String minutosAntes = sdf.format(gc.getTime());
        long tempAntes= gc.getTimeInMillis();
      //  System.out.println(minutosAntes);
      //  System.out.println(tempAntes);

        if ((horaAtual > tempAntes) && (horaAtual < tempDepois)){
            System.out.print("Não pode fazer tarefa!");
        }else
             System.out.print("Pode fazer tarefa!");
        }

:idea:
Resolvi postar pois se mais alguem tiver uma duvida da pra ter uma ideia!
Abraços!