Controlando agenda com limite de tempo

4 respostas
W

Na minha aplicação faço um controle de uma agenda onde a opção para cadastrar um novo agendamento é somente das 06:00 as 19:00. Não sei onde estou errando esta bloqueando somente depois das 19:00 até as 00:00 mas das 00:00 até as 6:00 não. Alguem pode me ajudar?

1. public String getBloqueiaAgenda() { 2. int hour = 19; 3. int minute = 0; 4. int second = 0; 5. int timeMillis = 0; 6. 7. GregorianCalendar calendar = new GregorianCalendar(); 8. calendar.set(Calendar.HOUR_OF_DAY, hour); 9. calendar.set(Calendar.MINUTE, minute); 10. calendar.set(Calendar.SECOND, second); 11. calendar.set(Calendar.MILLISECOND, timeMillis); 12. long tempoBloqueia = calendar.getTime().getTime(); 13. calendar = new GregorianCalendar(); 14. 15. int hour2 = 06; 16. int minute2 = 0; 17. int second2 = 0; 18. int timeMillis2 = 0; 19. 20. GregorianCalendar calendar2 = null; 21. calendar2 = new GregorianCalendar(); 22. calendar2.set(Calendar.HOUR_OF_DAY, hour2); 23. calendar2.set(Calendar.MINUTE, minute2); 24. calendar2.set(Calendar.SECOND, second2); 25. calendar2.set(Calendar.MILLISECOND, timeMillis2); 26. long tempoBloqueia2 = calendar2.getTime().getTime(); 27. 28. long tempoAgora = System.currentTimeMillis(); 29. 30. String desabilitaAgenda = "0"; 31. b] if ((tempoAgora < tempoBloqueia) || (tempoAgora < tempoBloqueia2)) { 32. desabilitaAgenda = "0"; 33. System.out.println("AGENDA ABERTA.>>>>>"); 34. } else { 35. desabilitaAgenda = "1"; 36. System.out.println("AGENDA FECHADA.>>>>>>>>>>>>>>>>"); 37. } 38. return desabilitaAgenda;[/b] 39. 40. }

4 Respostas

Giulliano

eu mudaria o seu código para o seguinte (mais simples)

public static Boolean getBloqueiaAgenda() {    
		
		Integer horaInicio = 06; 
		Integer horaEncerramento = 19;    
		Integer agora = Calendar.getInstance().get(Calendar.HOUR_OF_DAY);    
    
		if (agora &gt; horaInicio && agora &lt; horaEncerramento) {    
			System.out.println("AGENDA ABERTA.&gt;&gt;&gt;&gt;&gt;");
			return true;
		} else {    
			System.out.println("AGENDA FECHADA.&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;");
			return false;
		}    
	}
W

Blz, der certo, ficou bem melhor.
só precisei mudar para

agora >= horaInicio mas isso só foi um detalhe

Obrigado

W

Nessa agenda tenho um horário inicial e horário final da atividade.

Como faço para inserir somente a hora no banco sql server Sendo que o usuário esta digitando uma string e o meu campo no banco é do tipo dataTime, ou seria melhor usar outro tipo de campo no banco?

Giulliano

Para salvar somente a Hora vc pode tentar com o “javax.sql.Timestamp”

isso vai depender um pouco do banco de dados que vc trabalha. No lance de formatação. [ ] 's

Criado 24 de junho de 2010
Ultima resposta 25 de jun. de 2010
Respostas 4
Participantes 2