You are on page 1of 7

private ArrayList getDatesInInterval(String fechaInicio, String fechaFin)

{
String[] diasInicio = fechaInicio.split("/");
String[] diasFin = fechaFin.split("/");
ArrayList fechas = new ArrayList();
boolean isBisiesto = false;
int contadorMeses = Integer.parseInt(diasInicio[1]);
int contador;
for (int i = Integer.parseInt(diasInicio[2]); i <= Integer.parseInt(diasFin[
2]); i++)
{
if ((Integer.parseInt(diasInicio[2]) != Integer.parseInt(diasFin[2])) && (
i == Integer.parseInt(diasInicio[2])))
{
for (int j = Integer.parseInt(diasInicio[1]); j <= 12; j++)
{
if ((j == 1) || (j == 3) || (j == 5) || (j == 7) || (j == 8) || (j ==
10) || (j == 12))
{
contador = 31;
}
else
{
if (j == 2)
{
if (isBisiesto)
{
contador = 29;
}
else
{
contador = 28;
}
}
else
{
contador = 30;
}
}
for (int h = Integer.parseInt(diasInicio[0]); h <= contador; h++)
{
String dia = String.valueOf(h);
if (dia.length() == 1) {
dia = "0" + dia;
}
String mes = String.valueOf(j);
if (mes.length() == 1) {
mes = "0" + mes;
}

String anio = String.valueOf(i);


fechas.add(dia + "/" + mes + "/" + anio);
}
}
}
else if ((Integer.parseInt(diasInicio[2]) != Integer.parseInt(diasFin[2]))
&& (i != Integer.parseInt(diasFin[2])))
{
for (int j = 1; j <= 12; j++)
{
if ((j == 1) || (j == 3) || (j == 5) || (j == 7) || (j == 8) || (j ==
10) || (j == 12))
{
contador = 31;
}
else
{
if (j == 2)
{
if (isBisiesto)
{
contador = 29;
}
else
{
contador = 28;
}
}
else
{
contador = 30;
}
}
for (int h = 1; h <= contador; h++)
{
String dia = String.valueOf(h);
if (dia.length() == 1) {
dia = "0" + dia;
}
String mes = String.valueOf(j);
if (mes.length() == 1) {
mes = "0" + mes;
}
String anio = String.valueOf(i);
fechas.add(dia + "/" + mes + "/" + anio);
}
}

}
else if ((Integer.parseInt(diasInicio[2]) != Integer.parseInt(diasFin[2]))
&& (i == Integer.parseInt(diasFin[2])))
{
for (int j = 1; j <= Integer.parseInt(diasFin[1]); j++)
{
if (j != Integer.parseInt(diasFin[1]))
{
if ((j == 1) || (j == 3) || (j == 5) || (j == 7) || (j == 8) || (j =
= 10) || (j == 12))
{
contador = 31;
}
else
{
if (j == 2)
{
if (isBisiesto)
{
contador = 29;
}
else
{
contador = 28;
}
}
else
{
contador = 30;
}
}
for (int h = 1; h <= contador; h++)
{
String dia = String.valueOf(h);
if (dia.length() == 1) {
dia = "0" + dia;
}
String mes = String.valueOf(j);
if (mes.length() == 1) {
mes = "0" + mes;
}
String anio = String.valueOf(i);
fechas.add(dia + "/" + mes + "/" + anio);
}
}
else
{
if (j != Integer.parseInt(diasFin[1]))
continue;
for (int h = 1; h <= Integer.parseInt(diasFin[0]); h++)

{
String dia = String.valueOf(h);
if (dia.length() == 1) {
dia = "0" + dia;
}
String mes = String.valueOf(Integer.parseInt(diasFin[1]));
if (mes.length() == 1) {
mes = "0" + mes;
}
String anio = String.valueOf(i);
fechas.add(dia + "/" + mes + "/" + anio);
}
}
}
}
else
{
if (Integer.parseInt(diasInicio[2]) != Integer.parseInt(diasFin[2]))
{
continue;
}
if (Integer.parseInt(diasInicio[1]) == Integer.parseInt(diasFin[1]))
{
for (int h = Integer.parseInt(diasInicio[0]); h <= Integer.parseInt(di
asFin[0]); h++)
{
String dia = String.valueOf(h);
if (dia.length() == 1) {
dia = "0" + dia;
}
String mes = String.valueOf(Integer.parseInt(diasInicio[1]));
if (mes.length() == 1) {
mes = "0" + mes;
}
String anio = String.valueOf(i);
fechas.add(dia + "/" + mes + "/" + anio);
}
}
else
{
if (Integer.parseInt(diasInicio[1]) == Integer.parseInt(diasFin[1]))
{
continue;
}
for (int j = contadorMeses; j <= Integer.parseInt(diasFin[1]); j++)
{
if (j == Integer.parseInt(diasFin[1]))

{
for (int h = 1; h <= Integer.parseInt(diasFin[0]); h++)
{
String dia = String.valueOf(h);
if (dia.length() == 1) {
dia = "0" + dia;
}
String mes = String.valueOf(contadorMeses);
if (mes.length() == 1) {
mes = "0" + mes;
}
String anio = String.valueOf(i);
fechas.add(dia + "/" + mes + "/" + anio);
}
}
else if (j == Integer.parseInt(diasInicio[1]))
{
if ((j == 1) || (j == 3) || (j == 5) || (j == 7) || (j == 8) || (j
== 10) || (j == 12))
{
contador = 31;
}
else
{
if (j == 2)
{
if (isBisiesto)
{
contador = 29;
}
else
{
contador = 28;
}
}
else
{
contador = 30;
}
}
for (int h = Integer.parseInt(diasInicio[0]); h <= contador; h++)
{
String dia = String.valueOf(h);
if (dia.length() == 1) {
dia = "0" + dia;
}
String mes = String.valueOf(Integer.parseInt(diasInicio[1]));

if (mes.length() == 1) {
mes = "0" + mes;
}
String anio = String.valueOf(i);
fechas.add(dia + "/" + mes + "/" + anio);
}
contadorMeses++;
}
else
{
if (j == Integer.parseInt(diasFin[1]))
continue;
if ((j == 1) || (j == 3) || (j == 5) || (j == 7) || (j == 8) || (j
== 10) || (j == 12))
{
contador = 31;
}
else
{
if (j == 2)
{
if (isBisiesto)
{
contador = 29;
}
else
{
contador = 28;
}
}
else
{
contador = 30;
}
}
for (int h = 1; h <= contador; h++)
{
String dia = String.valueOf(h);
if (dia.length() == 1) {
dia = "0" + dia;
}
String mes = String.valueOf(contadorMeses);
if (mes.length() == 1) {
mes = "0" + mes;
}
String anio = String.valueOf(i);
fechas.add(dia + "/" + mes + "/" + anio);
}

contadorMeses++;
}
}
}
}
}
return fechas;
}

You might also like