Saudações a todos.
Tive um pouco de trabalho para resolver a questão de contar dias entre intervalo de duas datas, depois de muita pesquisa e muita gente com crise existencial, consegui montar uma classe que agora vou disponibilizar no fórum, como não sou baú e não consigo guardar nem dinheiro quanto mais classe Java ai vai ela.
Espero poder estar contribuído com a comunidade e facilitando a vida daqueles que estão com o mesmo problema.
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package util;
import java.text.DateFormat;
import java.text.NumberFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
*
* @author Jose Aldenor Imbiriba dos Santos Neto - jaimbiriba@gmail.com
*/
public class ContaDias {
public String contaDias(String dataInicial, String dataFinal) throws ParseException {
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
df.setLenient(false);
Date dataInicio = df.parse(dataInicial);
Date dataFim = df.parse(dataFinal);
long dt = (dataFim.getTime() - dataInicio.getTime()) + 3600000;
Long diasCorridosAnoLong = (dt / 86400000L);
Integer diasDecorridosInt = Integer.valueOf(diasCorridosAnoLong.toString());
/*Para Numeros Formatados com 3 digitos (0 a Esquerda)
NumberFormat nf = NumberFormat.getInstance();
nf.setMinimumIntegerDigits(3);
nf.setMaximumIntegerDigits(3);
String diasDecorridos = (nf.format(diasDecorridosInt));
*/
String diasDecorridos = String.valueOf(diasDecorridosInt); //Sem numeros formatados;
return diasDecorridos;
}
}
Agora como instanciar
//Exemplo de utilização em outra classe;
ContaDias contaDias = new ContaDias();
String diasDecorridos = contaDias.contaDias("02/01/2011", "25/01/2011");
System.out.println(r);