Como pegar hora e comparar com outra que eu escolher

6 respostas
W

Preciso implementar um metodo que pega a hora atual e compara se é maior que 19:00 horas
para fazer determinado processo - como faço?

6 Respostas

Flavio_Luiz

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

C

Como falaram acima, a API de Calendar possui vários métodos para manipulação e comparação de datas.

falou.

W

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 2010
Estou 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);
	}
    }
galileu.gt

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

W

ok, vou tentar aqui, valeu

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?

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]

    }
Criado 28 de maio de 2010
Ultima resposta 23 de jun. de 2010
Respostas 6
Participantes 4