Verificar se uma data sem Timestemp é igual/anterior/posterior à outra data

Para fazer essa verificação vamos utilizar a API de Data e Timestamp do Java, a classe Calendar: Consideremos o código abaixo, ele recupera uma instância com o método "Calendar.getIntance()" e utilizamos o método clear para remover os valores do timestamp, informado cada uma das informações separadamente.

Essa instância contem a data atual.

Calendar cal = Calendar.getInstance();
cal.clear(Calendar.HOUR_OF_DAY);
cal.clear(Calendar.AM_PM);
cal.clear(Calendar.MINUTE);
cal.clear(Calendar.SECOND);
cal.clear(Calendar.MILLISECOND);

O trecho de código abaixo, tem praticamente a mesma função do trecho acima, porem ao invés de ele trabalhar com a data atual, nos fazemos um set da data a ser comparada com o método "cal1.setTime(data)".

Calendar cal1 = Calendar.getInstance();
cal1.setTime(data);//Data a ser comparada
cal1.clear(Calendar.HOUR_OF_DAY);
cal1.clear(Calendar.AM_PM);
cal1.clear(Calendar.MINUTE);
cal1.clear(Calendar.SECOND);
cal1.clear(Calendar.MILLISECOND);

Se consideramos os trechos de código acima, nos temos duas instâncias do Calendar, ambas sem o timestamp, agora basta fazermos a comparação.

cal1.after(cal);//retorno true caso cal1 seja posterior a cal
cal1.before(cal);//retorno true caso cal1 seja anterior a cal
cal1.equal(cal);//retorno true caso cal1 seja igual a cal

Comments

Popular posts from this blog

Tela preta no Backtrack 5 ao executar o startx

Maven Error assembling EJB: META-INF/ejb-jar.xml is required for ejbVersion 2.x

Static Metamodel