Java - Obtener mes mediante número de semana y año

   
Vista:

Obtener mes mediante número de semana y año

Publicado por Newbie83 (29 intervenciones) el 11/11/2014 09:14:52
Buenos días.

Tengo un problema que no veo cómo puedo atacar... el enunciado es sencillo: Necesito saber el mes del año que le corresponde a un número de semana y un año concretos.

Por ejemplo, a la semana 46 del año 2014 le corresponde el mes de Noviembre, o mes 11.

Si alguien me puede echar una mano se lo agradecería muchísimo.

Gracias y saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Obtener mes mediante número de semana y año

Publicado por Alfonso (6 intervenciones) el 11/11/2014 12:33:51
Te voy a poner un pseudocodigo sencillo para que lo trabajes

boolean semanaEncontrada=falso
entero contadorSemana=.
entero semana=0
entero contadorMes=0

Algoritmo cuentaSemanas(entero mes)
Si mes = 1 entonces
cuentaSemanasEnero
si mes =2 entonces
cuentaSemanaFebrero
si mes = 3
.
.
.
fin cuentaSemana

Algoritmo cuentaSemanaEnero devuelve entero numerosSemanasEnero
String diaUno=0
entero primerDomingoMes
numerosSemanasEnero=1

diaUno = día de la semana que cae el 1/1 del año solicitado;
primerDomingoMes = CalcularPrimerDomingo (diaUno)

numeroSemanasEnero=numeroSemanasEnero+RedondeoHaciaArriba((31-primerDomingoMes)/4)
retornar numeroSemanasEnero
fin Algoritmo

Algoritmo cuentaSemanaFebrero devuelve entero numerosSemanasFebrero
String diaUno=0
entero primerDomingoMes
numerosSemanasFebrero=0

diaUno = día de la semana que cae el 1/1 del año solicitado; //lunes, martes,...


/*NO podemos inicializar la variable a 1 como antes porque depende si febrero empieza a mitad de semana, esa semana no se cuenta por estar en el mes anterior*/

si diaUno="lunes" entonces
numeroSemanasFebrero=1
sino
numeroSemanasFebrero=0
fin-si

primerDomingoMes = CalcularPrimerDomingo (diaUno)

numeroSemanasFebrero=numeroSemanasFebrero+(31-primerDomingoMes)/4
retornar numeroSemanasFebrero
fin Algoritmo


Programa Principal

mientras !semanaEncontrada do
contadorMes=contadorMes+1
contadorSemanas = ContadorSemanas + cuentaSemanas(contadorMes)
si contadorSemana>=Semana entonces //semana del mes encontrado
semanaEncontrada = Verdadero
fin si
fin mientras

escribir (El mes es, contadorMes)

Fin Programa

Espero que esta idea te ayude. NO está depurada, pero puedes trabajarla.

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Obtener mes mediante número de semana y año

Publicado por Newbie83 (29 intervenciones) el 11/11/2014 12:55:43
Está claro. Hay que currárselo, pero la idea esta clara.

Con esto como base puedo intentar hacer el desarrollo.

Mil gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar