Filtrando datas em Gregorian calendar

Java

22/05/2013

Tenho um aplicação onde eu preciso filtrar as solicitações por data. A data da solicitação na classe que mapeia o banco é do tipo Gregorian Calendar. Estou tentando filtrar as movimentações ocorridas entre 04/04/20013 até 04/04/2013 e não traz nada , sendo que possuo 2 movimentações neste período. Agora quando faça entre 04/04/20013 até 05/04/2013 eles traz as duas.
Terei que adicionar um dia a mais na data final.

Obs : Eu uso webservice e as datas são String . Quando chega no servidor eu converto para data
veja o ex:
public List<Solicitacao> listaSolicitacaoPorData(String dataIni,String dataFim, Integer tipo, Integer idUsuario, String compartilhada) {
Date d1 = new Date();
Date d2 = new Date();
GregorianCalendar cal1= new GregorianCalendar();
GregorianCalendar cal2=new GregorianCalendar();
try {
Date date1 = new Date();
Date date2 = new Date();
date1 = new SimpleDateFormat("dd/MM/yyyy").parse(dataIni);
System.out.println(date1);
d1 = date1;
date2 = new SimpleDateFormat("dd/MM/yyyy").parse(dataFim);
d2 = date2;
System.out.println(date2);
cal1.setTime(date1);
cal2.setTime(date2);
} catch (ParseException e) {
e.printStackTrace();
}
SolicitacaoRN solicitacaoRN= new SolicitacaoRN();
return solicitacaoRN.listaSolicitacaoPorData(cal1,cal2,tipo, idUsuario, compartilhada);
}
Jose Boas

Jose Boas

Curtidas 0

Respostas

Rafael Benetti

Rafael Benetti

22/05/2013

Cara ja fiz uma aplicacao deste tipo..

onde tinha que marcar os horarios de entradas e saidas dos funcionarios, e foi um show!!!
por que eles trabalhavao em tres turnos manha tarde e noite!!!
entao quem trabalhava a noite entrava no dia 04-04 mas saia ja no 05-04...
o que eu te indicaria e fazer o seguinte...

dentro deste teu metodo que busca...
pega a data final e adiciona um dia a mais entede e faz isso mesmo que foce falou(quando eu colo um dia a mais funciona)
por que se voce se der en conta ele tem que fazer a data ser desde dia 04-04 (00:01) ate 05-05(00:01)...
GOSTEI 0
Rafael Benetti

Rafael Benetti

22/05/2013

Da uma olhadinha nisso

http://www.tecnoclasta.com/2009/06/08/como-lidar-com-datas-e-horas-em-java/

tenta fazer com que a primeria data (dataInicial)seja hora (00:01)
e a segunda data(dataFinal)(23:59)

gc.set(gc.HOUR,00);

ai acredito que vai dar certo!!!
GOSTEI 0
Jose Boas

Jose Boas

22/05/2013

Obrigado pela DICA. Eu fiz isto mesmo adicionei um dia .
Lei em conta o que você disse em :
por que se voce se der en conta ele tem que fazer a data ser desde dia 04-04 (00:01) ate 05-05(00:01)...
GOSTEI 0
Rafael Benetti

Rafael Benetti

22/05/2013

Que sorte que consegui te ajudar fico muito feliz!!!
qualquer duvida que eu possa ajudar me avisa!!

tenho muitas video aulas tbm se um dia precisar me da um toque!!!

rafareypy@gmail.com esse eh meu email!!!
GOSTEI 0
José

José

22/05/2013

Já que a duvida foi sanada, estou finalizando o tópico.,
GOSTEI 0
POSTAR