Como eu consigo pegar todas as datas que estejam dentre o meio da data inicial, e final ?
ex:
String dataIni = “03/12/2007”
String dataFinal = “06/12/2007”
passando esses 2 parametros, me retornar algo assim:
03/12/2007 // do inicio
04/12/2007
05/12/2007
06/12/2007 // até a final
me retorne os outros dias dentre esses 2 parametros…
alguém pode me ajudar?
estou pesquisando algum recurso que o Java possa oferecer para isso mas não estou encontrando…
Ola,
vc pode fazer o seguinte,
1º, transforme suas datas em java.util.Date, usando o java.text.DateFormat.
2º, crie um java.util.Calendar com a primeira data, e vai iterando e acrescendo o campo DAY_OF_MONTH em um, até que a data seja igual a data fim… vc adiciona um dia assim:
Calendar c ...
c.add(Calendar.DAY_OF_MONTH, 1);
legal consegui pegar os dias e ano
mas o mes vem “0” zero
dado os valores:
01/12/2007 até 05/12/2007
veja:
while(calini.before(calfim) || calini.equals(calfim)){
lista.add(calini.getTime());
calini.add(Calendar.DAY_OF_MONTH , 1);
}
for (Date d : lista) {
System.out.println(d.getDate() +"/" + d.getMonth() + "/" + d.getYear());
}
resultado:
1/0/2008
2/0/2008
3/0/2008
4/0/2008
pq vem os mes e o ano assim ?
Ola,
Mas como vc transformou a string em date??
Olha um exemplo básico:
String d = "25/12/2007";
DateFormat format = new SimpleDateFormat("dd/MM/yyyy");
Date date = format.parse(d);
System.out.println("format = "+date);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
System.out.println("calendar = "+format.format(calendar.getTime()));
for(int x=0;x<3;x++){
calendar.add(Calendar.DAY_OF_MONTH, 1);
System.out.println("calendar = "+format.format(calendar.getTime()));
}