Comparando hora

4 respostas
V

Ola pessoal…

Nao estou conseguindo comparar hora, estou utilizando java.sql.Time

Olhe o debug:

Hora Inicio - 08:00:00
Hora Fim - 23:00:00
Hora Atual - 21:07:04
Hora atual after hora inicio.: true
Hora atual before hora fim.: false (aqui nao deveria retornar true ja que a hora atual eh menor q a hora final)

4 Respostas

C

Voce está querendo comparar 2 datas para ver qual delas é maior?
Voce pode fazer assim

if(dataAtual < dataProxima)
   // faz alguma coisa..

Senao me ingano teria que funcionar.

V

Sim qro verificar se a hora atual esta dentro de um periodo, no banco salvo hora inicial e hora final de servico, tipo o cara pode usar o sistema das 8hrs ate 20hrs, qndo ele tentar logar fora deste periodo o sistema exibe uma mensagem e nao entra. Entao preciso saber se a hora atual eh maior que a hora inicial e se a data atual eh menor que a hora final, so que sempre a comparacao horaAtual.before(horaFinal) me retorna false.

L

da uma olhada quais são os valores de

hinicio.getTime();
hfim.getTime();
hatual.getTime();

vai ser um long

V

ola pessoal,

consegui resolver e to postando a solucao q achei. Mesmo eu tendo um campo do tipo Time do banco ele registrava a data tbm, entao nunca funcionava a comparacao, pois so qria comparar as horas excluindo a data, entao igualei as datas de inicio e fim com a data do dia e so mantive as horas.

Calendar hInicio = Calendar.getInstance(Locale.US);
hInicio.setTime(usuario.getHoraInicio());
Calendar hFim = Calendar.getInstance(Locale.US);
hFim.setTime(usuario.getHoraFim());
Calendar hoje = Calendar.getInstance(Locale.US);
hoje.setTime(new Date());
        
hInicio.set(hoje.get(Calendar.YEAR), hoje.get(Calendar.MONTH), hoje.get(Calendar.DAY_OF_MONTH));
hFim.set(hoje.get(Calendar.YEAR), hoje.get(Calendar.MONTH), hoje.get(Calendar.DAY_OF_MONTH));
Criado 13 de novembro de 2007
Ultima resposta 15 de nov. de 2007
Respostas 4
Participantes 3