Verificação do horário atual: maior, menor?

3 respostas
R
Como faço para verificar a hora atual e depois tomar decisões baseadas na mesma? Se for entre 00:00 e 10:00 imprimo "Ciclo 1", se for entre 10:00 e "16:00" imprimo "Ciclo 2", e por aí vai... Fiz da maneira abaixo, mas nao vai porque a hora está no formato "hh:MM:ss"
SimpleDateFormat sdf = new SimpleDateFormat("hh:MM:ss");		
	Date d1 = new Date();		
	String now = sdf.format(d1);		
	System.out.println(now);
					
	if(Integer.parseInt(now) > 12) System.out.println("São mais de meio dia");		
	else System.out.println("São menos de meio dia");
Dá o seguinte erro:
12:18:38 Exception in thread "main" java.lang.NumberFormatException: For input string: "12:18:38" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48) at java.lang.Integer.parseInt(Integer.java:456) at java.lang.Integer.parseInt(Integer.java:497) at testsPack.Casting.str2Int(Casting.java:29) at testsPack.TestHeader.main(TestHeader.java:17)
Alguém sabe como fazer essa verificação de horário? []´s!!!

3 Respostas

T
Calendar cal = Calendar.getInstance();
// Entre 00:00 e 09:59 imprimimos "Ciclo 1"
// Entre 10:00 e 15:59 imprimimos "Ciclo 2"
// Entre 16:00 e 23:59 imprimimos "Ciclo 3"
int hora = cal.get (Calendar.HOUR_OF_DAY);
if (0 <= hora && hora <= 9) --> "Ciclo 1"
else if (10 <= hora && hora <= 15) --> "Ciclo 2"
else --> "Ciclo 3"

EDIT - desculpe, eu confundi “hora” com cal. Corrigi o código. (Não gosto de postar só um pedacinho de código, não testado, porque pode dar esse tipo de bobagem. )

R

Kra obrigado pela resposta, agora foi certinho.
[]´s!!!

L

Você pode usar também o compareTo() para comparar a hora atual com a hora do intervalo
e se direcionar com os resultados de menor ou maior… sakas?

Tipo:

horaAtual.compareTo(horaIntervalo1)...
Criado 19 de fevereiro de 2008
Ultima resposta 19 de fev. de 2008
Respostas 3
Participantes 3