Preciso implementar um metodo que pega a hora atual e compara se é maior que 19:00 horas
para fazer determinado processo - como faço?
Como pegar hora e comparar com outra que eu escolher
6 Respostas
kra não peça a resolução… tente fazer e coloque as dúvidas…
mas ai vai uma dica
http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html
Como falaram acima, a API de Calendar possui vários métodos para manipulação e comparação de datas.
falou.
Não sei porque mas meu objeto hora esta retornando uma data de 1970 podem me ajudar?
Esta retornando essa data: [quote]Hora limite:@@@@@@@@@@@@@@@@@@@@@ Thu Jan 01 19:00:00 BRT 1970 Hora atual: Mon May 31 15:05:04 BRT 2010Estou usando esse código abaixo abaixo:
[code]public void bloqueiaAgenda() throws ParseException {
SimpleDateFormat sdfConvert = new SimpleDateFormat("HH:mm");
Date hora = new Date();
try {
hora = sdfConvert.parse("19:00");
} catch (ParseException ex) {
}
// Date dMax = formatador.parse("16:30");
Date dAgora = new Date();
if (dAgora.getTime() > hora.getTime()) {
System.out.println("Hora limite:@@@@@@@@@@@@@@@@@@@@@ " + hora + "Hora atual: " + dAgora);
} else {
System.out.println("Hora limite:@@@@@@@@@@@@@@@2 " + hora);
}
}
Olá,
Mas nao eh isso que voce esperava? Ou esperava que ele te retornasse 2010? hehehe
Se voce quiser a data atual tem que colocar o ano tambem, ou usar outros metodos para obter a data atual e depois setar essa data para 19:00.
se voce tivesse configurado seu formato new SimpleDateFormat(“HH:mm”) para new SimpleDateFormat(“HH:mm yyyy”);
iria poder usar:
hora = sdfConvert.parse(“19:00 2010”);
e sua data ficaria pelo menos com o ano correto. O Mes e dia ficariam setados pro valor default
ok, vou tentar aqui, valeu
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?
public String getBloqueiaAgenda() {
int hour = 19;
int minute = 0;
int second = 0;
int timeMillis = 0;
GregorianCalendar calendar = new GregorianCalendar();
calendar.set(Calendar.HOUR_OF_DAY, hour);
calendar.set(Calendar.MINUTE, minute);
calendar.set(Calendar.SECOND, second);
calendar.set(Calendar.MILLISECOND, timeMillis);
long tempoBloqueia = calendar.getTime().getTime();
calendar = new GregorianCalendar();
int hour2 = 06;
int minute2 = 0;
int second2 = 0;
int timeMillis2 = 0;
GregorianCalendar calendar2 = null;
calendar2 = new GregorianCalendar();
calendar2.set(Calendar.HOUR_OF_DAY, hour2);
calendar2.set(Calendar.MINUTE, minute2);
calendar2.set(Calendar.SECOND, second2);
calendar2.set(Calendar.MILLISECOND, timeMillis2);
long tempoBloqueia2 = calendar2.getTime().getTime();
long tempoAgora = System.currentTimeMillis();
String desabilitaAgenda = "0";
[b] if ((tempoAgora < tempoBloqueia) || (tempoAgora < tempoBloqueia2)) {
desabilitaAgenda = "0";
System.out.println("AGENDA ABERTA.>>>>>");
} else {
desabilitaAgenda = "1";
System.out.println("AGENDA FECHADA.>>>>>>>>>>>>>>>>");
}
return desabilitaAgenda;[/b]
}