Gostaria de saber se existe alguma biblioteca ou método que me retorno quantos dias tenho entre um período por exemplo:
01/01/2019 - 31/12/2019
Quantos dias 29 eu tenho = 11
Gostaria de saber se existe alguma biblioteca ou método que me retorno quantos dias tenho entre um período por exemplo:
01/01/2019 - 31/12/2019
Quantos dias 29 eu tenho = 11
String dataInicio, dataFim;
dataInicio = "01/01/2019";
dataFim = "31/12/2019";
int dias = 0;
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Calendar data1 = Calendar.getInstance();
Calendar data2 = Calendar.getInstance();
try {
data1.setTime(sdf.parse(dataInicio));
data2.setTime(sdf.parse(dataFim));
} catch (java.text.ParseException e) {
}
if (data1.get(Calendar.YEAR) == data2.get(Calendar.YEAR)){
dias = data2.get(Calendar.DAY_OF_YEAR)- data1.get(Calendar.DAY_OF_YEAR);
}
else if (data1.get(Calendar.YEAR) < data2.get(Calendar.YEAR)){
int bix=0;
if (data1.get(Calendar.YEAR)%4==0 && data1.get(Calendar.YEAR)%100!=0 && data1.get(Calendar.YEAR)%400==0)
bix = 366;
else
bix = 365;
dias = data2.get(Calendar.DAY_OF_YEAR)+bix - data1.get(Calendar.DAY_OF_YEAR);
}
System.out.println(dias);
da uma olhada nesse código, não lembro se ta funcionando certinho, qualquer coisa muda o data1.settime e o data2.settime… mas acho que ta funcionando…
Então este método trás quantos dias eu tenho no período eu quero por exemplo quero saber quantos dias 31 existe neste período :
Da uma olhada nessa modificação que fiz no código acima e ve se serve:
String dataInicio, dataFim;
dataInicio = "01/01/2019";
dataFim = "31/12/2019";
int diaVerificar = 29;
int contador = 0;
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Calendar data1 = Calendar.getInstance();
Calendar data2 = Calendar.getInstance();
try {
data1.setTime(sdf.parse(dataInicio));
data2.setTime(sdf.parse(dataFim));
} catch (java.text.ParseException e) {
}
while(data1.before(data2)){
if (data1.get(Calendar.DAY_OF_MONTH) == diaVerificar){
contador++;
}
data1.set(Calendar.DAY_OF_YEAR, data1.get(Calendar.DAY_OF_YEAR)+1);
}
System.out.println(contador);
Isso mesmo que precisava muito obrigado