[Resolvido]-Comparar horas usando Date

Boa tarde galera, tdo certo ? Bem, na minha aplicação estou tendo que fazer o seguinte: O usuário vai digitar o horário dos períodos de uma escola. Por exemplo, ele escolhe o turno da manhã e coloco 5 períodos.Daí que devo validar o horário, sendo que o turno da manhã começa apartir das 00:00:00 e vai até as 11:59:59…Se passar desse horário, daí vai gerar uma mensagem dizendo para o usuário verificar o horário informado.
Abaixo, como estou fazendo:

  if (this.horariosDosPeriodos.getHperTurno().equals("M")) {
                Date horaMinManha = new Date();
                Date horaMaxManha = new Date();
                horaMinManha.setHours(00);
                horaMinManha.setMinutes(00);
                horaMinManha.setSeconds(00);
                horaMaxManha.setHours(11);
                horaMaxManha.setMinutes(59);
                horaMaxManha.setSeconds(59);

  if (horariosDosPeriodos.getHperInicio().before(horaMinManha) || horariosDosPeriodos.getHperFim().after(horaMaxManha)) {
                    horarioManhaErrado = true;
                }
   }

  if (horarioManhaErrado) {
                JsfUtil.warn("Verifique o horário. Horário de início entre 00:00 e horário final até 11:59");
            }

Tentei fazer dois métodos para passar somete o horário para String e depois passar o horário para um date, mas para somente pegar o horário, da seguinte maneira:

 public static String horaFormatada(Date d) {
        return new SimpleDateFormat("HH:mm:ss").format(d);
    }

 public static Date formataHora(String hora) throws Exception {
        if (hora == null || hora.equals("")) {
            return null;
        }

        Date date = null;
        try {
            DateFormat formatter = new SimpleDateFormat("HH:mm:ss");
            date = (java.util.Date) formatter.parse(hora);
        } catch (ParseException e) {
            throw e;
        }
        return date;
    }

Só que ele também pega ( não to conseguindo entender o porque) o ano (1970)…
Porém, apesar do usuário somente informar a Hora com os minutos, no “horariosDosPeriodos.getHperInicio()” , ele pega um ano também, que por sinal é 1970…Se puderem ajudar a fazer com que eu consiga pegar somente o horário informado pelo usuário e não o ano, agradeceria mto…Vlw

Pelo que eu entendi, seu problema é ver se o horario informado pelo usuario esta entre os horarios X e Y certo? se for isso, não seria melhor usar um controle que impeça o usuario de digitar um horario invalido?

outra coisa, ele pega o ano de 1970 pq Date conta a qtd de milisegundos desde 1970, alem disso, Date está obsoleta, seria mais interessante você utilizar a classe Calendar ou a biblioteca JodaTime, que já tem varios metodos pra realizar operações com datas.

[quote=yurifw]Pelo que eu entendi, seu problema é ver se o horario informado pelo usuario esta entre os horarios X e Y certo? se for isso, não seria melhor usar um controle que impeça o usuario de digitar um horario invalido?

outra coisa, ele pega o ano de 1970 pq Date conta a qtd de milisegundos desde 1970, alem disso, Date está obsoleta, seria mais interessante você utilizar a classe Calendar ou a biblioteca JodaTime, que já tem varios metodos pra realizar operações com datas.

[/quote]
Boa tarde yurifw. Bem, não sabia msm o pq do 1970. Poderia dar uma ajuda aí entao?? Tenho na minha classe os campos ( hora inicial e hora final do tipo date e no banco do tipo time )… Se puder ajudar aí, agradeço mto…Vlw

Alguém mais poderia ajudar? Se alguém puder ajudar, agradeceria mto…Vlw