Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/07/2009, 11:21
erlolialo
 
Fecha de Ingreso: mayo-2009
Mensajes: 72
Antigüedad: 15 años
Puntos: 0
Traduccion calendario formato español

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.