Ajuda em um loop para datas entre 01/01/2016 a 31/12/2016

Preciso imprimir no meu console para estudos, um loop que apresente as data de 01/01/2016 (inclusive) a 31/12/2016 (inclusive também).

SimpleDateFormat sdf= new SimpleDateFormat("dd/MM/yyyy");
Date inicioDate = sdf.parse("01-01-2016");
Date fimDate = sdf.parse("31/12/2016");

Estou usando o Calendar, é o mais correto?

Calendar start = Calendar.getInstance();
start.setTime(inicioDate);
Calendar end = Calendar.getInstance();
end.setTime(fimDate);

Como eu faria o laço de repetição pra imprimir estas data?

for ( .......) 
{
    System.out.println(....);
}

vc começa na data start, vai até a data end e incrementa um dia por vez.

Para imprimir o ano completo seria 01/01/2015 até 01/01/2016:

SimpleDateFormat sdf= new SimpleDateFormat("dd/MM/yyyy");
Date inicioDate = sdf.parse("01/01/2015");
Date fimDate = sdf.parse("01/01/2016");

Calendar start = Calendar.getInstance();
start.setTime(inicioDate);
Calendar end = Calendar.getInstance();
end.setTime(fimDate);


for(Calendar d = start; d.getTimeInMillis() <= end.getTimeInMillis();  d.add(Calendar.DATE, 1))
{
	System.out.println(sdf.format(d.getTime()));
}

Obrigado! Funcionou!

1 curtida