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