Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/11/2011, 11:42
jav_000
 
Fecha de Ingreso: agosto-2011
Ubicación: Madrid
Mensajes: 185
Antigüedad: 12 años, 8 meses
Puntos: 29
Calcular el número de semana dentro de un mes [Solucionado]

Hola. Estoy intentando calcular el número de semana dentro de un mes (entre 1 y 5) a partir de una fecha dada. Por ejemplo para el 1-11-2011 debería de devolver 1 (primera semana dentro del mes de noviembre de 2011).

Utilizo la clase Calendar, concretamente la constante WEEK_OF_MONTH. El problema está en que me devuelve valores incorrectos. Ejemplo:


1) Calendar c = Calendar.getInstance();
c.set(2011, 10, 7); //Mes 10 = noviembre, y el día es 6
c.get(Calendar.WEEK_OF_MONTH)

Resultado = 2. Correcto, es la segunda semana en el mes de noviembre.

2) Calendar c = Calendar.getInstance();
c.set(2011, 0, 3); //Mes 0 = enero, y el día es el 3
c.get(Calendar.WEEK_OF_MONTH)

Resultado = 1. Incorrecto, ya que el día 3 está en la segunda semana. De hecho si pregunto por el 1 de enero de 2001 me devuelve que el número de semana es 0.

He probado cambiando el primer día de la semana: c.setFirstDayOfWeek(Calendar.MONDAY), pero el resultado es el mismo.

Alguna idea?

Un saludo.

Última edición por jav_000; 24/11/2011 a las 12:34 Razón: Solución encontrada