Dificuldade em comparar Data

6 respostas
Salax

Ola,
estou tendo dificuldade em um if() para comparação de data,
antes de salvar os dados no banco faço a verificação se a data inserida é menor que há atual,
porém se a data inserida for igual a data atual gostaria que fosse possível aceitar a inserção de dados no banco.

Segue o if()

<blockquote>if (dt.compareTo(va.getEntradaProgramada()) >=0){

out.println(“Data inferior a Data Atual.
Escolha outra data.”);

return;

}</blockquote>

Obrigado.

6 Respostas

ViniGodoy

Não basta tirar o sinal de = do if?

Salax

não, já tirei e não resoleu.

ViniGodoy

Se para você interessa somente os dias, certifique-se que essas datas não tenham horas preenchidas.
Você pode altera-las para sempre indicarem o mesmo horário (como 12:00:00).

Muitas vezes esse tipo de função falha por causa das horas.

Salax

ViniGodoy:
Se para você interessa somente os dias, certifique-se que essas datas não tenham horas preenchidas.
Você pode altera-las para sempre indicarem o mesmo horário (como 12:00:00).

Muitas vezes esse tipo de função falha por causa das horas.

Vou tentar e retorno, valeu!

Salax

ViniGodoy:
Se para você interessa somente os dias, certifique-se que essas datas não tenham horas preenchidas.
Você pode altera-las para sempre indicarem o mesmo horário (como 12:00:00).

Muitas vezes esse tipo de função falha por causa das horas.

Bom dia Vini,

estou fazendo desta maneira e o erro continua.

Reservas r =new Reservas(); DateFormat f = new SimpleDateFormat("dd/MM/yyyy"); Date dt = new Date(f.parse(request.getParameter("txtData")).getTime()); r.setDataReserva(dt); r.setObservacao(request.getParameter("txtDescricao")); r.setPessoaId(Integer.parseInt(request.getParameter("comboEnviarPara"))); r.setDependenciaId(Integer.parseInt(request.getParameter("comboDep"))); sessao = request.getSession(); Pessoas p = (Pessoas) sessao.getAttribute("user"); List&lt;Reservas&gt; reservas = new ReservasADO().listarReservas(p); Locale locBR = new Locale(&quot;pt&quot;, &quot;BR&quot;); dt = (Date) new Date(new java.util.Date().getTime()); DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, locBR); if (dt.compareTo(r.getDataReserva()) &gt;= 0){ out.println(&quot;&lt;table&gt;" + "&lt;tr&gt;&lt;td width='50'&gt;&lt;/td&gt;" + "&lt;td colspan='5&gt;&lt;font style='color:red'&gt;Data de Reserva inferior a Data Atual.<br/>Escolha outra data.</font>&lt;/td&gt;" + "&lt;/tr&gt;" + "&lt;/table&gt;"); return ; }

Alguma sugestão?
Obrigado

Rodrigo_Sasaki

na linha dt = (Date) new Date(new java.util.Date().getTime()); você pega uma data com horas, minutos e segundos denovo.

Criado 8 de abril de 2012
Ultima resposta 25 de mai. de 2012
Respostas 6
Participantes 3