Foros del Web » Programando para Internet » PHP »

Como calcular el día de la semana y mes conociendo el número de semana?

Estas en el tema de Como calcular el día de la semana y mes conociendo el número de semana? en el foro de PHP en Foros del Web. Saludos! Tengo que resolver este problema, espero que puedan ayudarme D: Tengo un sistema donde se agrupan registros por semana, donde cada fecha corresponde a ...
  #1 (permalink)  
Antiguo 28/06/2011, 15:53
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Pregunta Como calcular el día de la semana y mes conociendo el número de semana?

Saludos!

Tengo que resolver este problema, espero que puedan ayudarme D:

Tengo un sistema donde se agrupan registros por semana, donde cada fecha corresponde a una semana desde 1 a 52 usando la funcion de php date(W), a partir de esta información se muestra en pantalla algo como esto:

Semana 35
Registro 1
Registro 3
Registro x

donde cada uno de esos registros tiene fecha perteneciente a la semana 35

el problema es que se me ha solicitado que muestre en pantalla no solo la semana si no tambien la fecha desde lunes a lunes, por ejemplo:

Semana 35 (Correspondiente a la semana comprendida entre el 29 de Agosto y el 4 de Septiembre)
Registro 1
Registro 3
Registro x

la pregunta es: ¿como sabiendo el numero de semana puedo calcular ese primer lunes? (para calcular el proximo lunes solo calculo el lunes de la semana siguiente).

cualquier ayuda es bienvenida, esto tiene que servir para el año actual solamente ya que este sistema se hace de nuevo todos los años (aunque no lo crean XD).

GRACIAS!
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #2 (permalink)  
Antiguo 28/06/2011, 16:21
Avatar de quike88  
Fecha de Ingreso: agosto-2008
Mensajes: 471
Antigüedad: 15 años, 8 meses
Puntos: 87
Respuesta: Como calcular el día de la semana y mes conociendo el número de semana?

que tal stramin,

que tal algo así:

Código PHP:
Ver original
  1. //semana de la BD
  2. $semana = 35;
  3. //semana actual
  4. $semana_actual = date('W')+1;
  5. //diferencia
  6. $dif = $semana - $semana_actual;
  7. //Lunes
  8. $lunes = date("d-m-Y", strtotime("Monday $dif week"));
  9. echo $lunes;

Un saludo.

Edito: esto solo funcionaria para una semana que se encuentre en el año actual

Última edición por quike88; 28/06/2011 a las 16:26
  #3 (permalink)  
Antiguo 28/06/2011, 16:36
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Como calcular el día de la semana y mes conociendo el número de semana?

vaya! no se me había ocurrido, siempre he sido malo con las fechas XD

ya había encontrado una forma pero se hace un poco mas larga, la publico de todos modos por si alguien la necesita:

resulta que PHP tiene la posibilidad de agregar la semana en su timestamp, así:

strtotime("2011W051");

lo cual corresponde a año 2011, semana 5, dia lunes.

Por lo tanto puedo obtener el lunes de cualquier semana de cualquier año así:

$fecha=strtotime($year."W".$week."1");
$dia=date('d',$fecha);
$mes=date('n',$fecha);

claro que si quiero una semana menor que 10 debo agregar "0" (W01,W02,W03,W04).

Gracias, nos vemos por ahí +karma para ti
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #4 (permalink)  
Antiguo 28/06/2011, 16:42
Avatar de quike88  
Fecha de Ingreso: agosto-2008
Mensajes: 471
Antigüedad: 15 años, 8 meses
Puntos: 87
Respuesta: Como calcular el día de la semana y mes conociendo el número de semana?

Cita:
Iniciado por stramin Ver Mensaje
resulta que PHP tiene la posibilidad de agregar la semana en su timestamp, así:

strtotime("2011W051");
No conocía esta forma, realmente se aprende algo nuevo en este foro cada día.

Un saludo.
  #5 (permalink)  
Antiguo 28/06/2011, 16:47
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Como calcular el día de la semana y mes conociendo el número de semana?

¿Algo así?
Código PHP:
Ver original
  1. <?php
  2. $week = 35;
  3. $calcWeek = $week - date('W');
  4. echo 'Semana corre desde el lunes ' . date('Y-m-d', strtotime('Monday ' . ($calcWeek-1) . ' weeks'))
  5.     . ' hasta el domingo ' . date('Y-m-d', strtotime('Sunday ' . $calcWeek . ' weeks'));

Edito: ups se me adelantaron

Siempre se me olvida sobre los "compounds"
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Etiquetas: semana, calculadora
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:52.