Tengo el siguiente calendario, que tiene como primer dia de la semana el domingo, y quisiera que el primer dia de la semana fuera el lunes.
Código:
Calendar esteMes = Calendar.getInstance();
esteMes.set(Calendar.DAY_OF_MONTH,1);
SimpleDateFormat dia = new SimpleDateFormat("d");
Calendar finDelMes = (Calendar)esteMes.clone();
finDelMes.set(Calendar.DATE,finDelMes.getActualMaximum(Calendar.DATE));
finDelMes.add(Calendar.DATE,7-finDelMes.get(Calendar.DAY_OF_WEEK));
esteMes.add(Calendar.DATE,1-esteMes.get(Calendar.DAY_OF_WEEK));
//situa el calendario en el primer dia de la primera semana
<table>
<% do { %>
<tr>
<% for (int i=0; i < 7; i++) { %>
<td>
<%= dia.format(esteMes.getTime()) %>
</td>
<% esteMes.add(Calendar.DATE,1); //dia siguiente
} %> // for
</tr>
<% } while(esteMes.getTime().before(finDelMes.getTime()));
esteMes.add(Calendar.MONTH,-1); // Reestablece la fecha a principio del mes
esteMes.set(Calendar.DATE,1); %>
</table>
He probado añadiendo +1 en:
Código:
esteMes.add(Calendar.DATE,1-esteMes.get(Calendar.DAY_OF_WEEK)+1);
pero en algunos meses falla... alguien me puede echar una mano?? muchas gracias y un saludo.