Foros del Web » Programando para Internet » PHP »

Mostrar los lunes dentro de los 60 días próximos

Estas en el tema de Mostrar los lunes dentro de los 60 días próximos en el foro de PHP en Foros del Web. Hola, ando necesitando un script que genere un listado de fechas que caigan lunes a partir de un día X, y que sean dentro de ...
  #1 (permalink)  
Antiguo 18/06/2008, 15:03
Avatar de marce_str  
Fecha de Ingreso: septiembre-2006
Ubicación: La Plata, Argentina
Mensajes: 203
Antigüedad: 17 años, 6 meses
Puntos: 1
Mostrar los lunes dentro de los 60 días próximos

Hola, ando necesitando un script que genere un listado de fechas que caigan lunes a partir de un día X, y que sean dentro de los 2 meses próximos, bueno o que sean simplemente 8.
Traté de hacer algo pero no me ha salido nada.

Desde ya muchas gracias.
Saludos!
  #2 (permalink)  
Antiguo 18/06/2008, 16:23
Avatar de tulises16  
Fecha de Ingreso: diciembre-2003
Ubicación: La Plata, Argentina
Mensajes: 92
Antigüedad: 20 años, 4 meses
Puntos: 1
Respuesta: Mostrar los lunes dentro de los 60 días próximos

Con Que Lo Queres Hacer:
Php, Sql Server, Mysql?
__________________
Ulises
  #3 (permalink)  
Antiguo 18/06/2008, 16:27
Avatar de marce_str  
Fecha de Ingreso: septiembre-2006
Ubicación: La Plata, Argentina
Mensajes: 203
Antigüedad: 17 años, 6 meses
Puntos: 1
Respuesta: Mostrar los lunes dentro de los 60 días próximos

Cita:
Iniciado por tulises16 Ver Mensaje
Con Que Lo Queres Hacer:
Php, Sql Server, Mysql?
Disculpa!, con PHP solamente.
  #4 (permalink)  
Antiguo 18/06/2008, 17:43
Avatar de tulises16  
Fecha de Ingreso: diciembre-2003
Ubicación: La Plata, Argentina
Mensajes: 92
Antigüedad: 20 años, 4 meses
Puntos: 1
Respuesta: Mostrar los lunes dentro de los 60 días próximos

Asi como esta es especifica para buscar lunes, pero con poco mas se puede hacer para buscar lo que quieras
Código PHP:
<?php
//Devuelve un array con las fechas que son lunes entre la fecha dada y cantidad de dias
function lista_lunes($fecha,$dias)
{
    list(
$day,$mon,$year) = explode('/',$fecha);
    
$lunes = array();
    for(
$dia 1$dia <= $dias$dia += 1)
    {
        
$fec_temp date('d/m/Y',mktime(0,0,0,$mon,$day+$dia,$year));
        if(
date("l"mktime(0,0,0,$mon,$day+$dia,$year))=="Monday")
            
array_push($lunes$fec_temp);
    }
    return 
$lunes;
}

//Prueba
$fecha date("d/m/Y");

$fechas_lunes lista_lunes($fecha,60);

print_r($fechas_lunes);
?>
__________________
Ulises
  #5 (permalink)  
Antiguo 19/06/2008, 06:12
Avatar de marce_str  
Fecha de Ingreso: septiembre-2006
Ubicación: La Plata, Argentina
Mensajes: 203
Antigüedad: 17 años, 6 meses
Puntos: 1
Respuesta: Mostrar los lunes dentro de los 60 días próximos

Muchas gracias Ulises, MUY UTIL tu solución!
  #6 (permalink)  
Antiguo 04/07/2008, 09:08
 
Fecha de Ingreso: diciembre-2004
Mensajes: 10
Antigüedad: 19 años, 4 meses
Puntos: 0
Respuesta: Mostrar los lunes dentro de los 60 días próximos

Cita:
Iniciado por tulises16 Ver Mensaje
Asi como esta es especifica para buscar lunes, pero con poco mas se puede hacer para buscar lo que quieras
Código PHP:
<?php
//Devuelve un array con las fechas que son lunes entre la fecha dada y cantidad de dias
function lista_lunes($fecha,$dias)
{
    list(
$day,$mon,$year) = explode('/',$fecha);
    
$lunes = array();
    for(
$dia 1$dia <= $dias$dia += 1)
    {
        
$fec_temp date('d/m/Y',mktime(0,0,0,$mon,$day+$dia,$year));
        if(
date("l"mktime(0,0,0,$mon,$day+$dia,$year))=="Monday")
            
array_push($lunes$fec_temp);
    }
    return 
$lunes;
}

//Prueba
$fecha date("d/m/Y");

$fechas_lunes lista_lunes($fecha,60);

print_r($fechas_lunes);
?>
Hola a todos... me parece muy completo esta función pero tengo un duda con el formato de salida, por ejemplo:

Array ( [0] => 17/11/2008 [1] => 24/11/2008 [2] => 01/12/2008 [3] => 08/12/2008 [4] => 15/12/2008 [5] => 22/12/2008 [6] => 29/12/2008 [7] => 05/01/2009 )

Necesito mostrar unicamente la fecha para hacer una lista de formulario, he intentado cambiar algunas funciones, pasarlo a otro arreglo, recorrerlo, pero ninguna me funciona y no sé que estoy haciendo mal.

Alguna idea? sugerencia?

Saludos

Daniel N
  #7 (permalink)  
Antiguo 04/07/2008, 13:15
Avatar de tulises16  
Fecha de Ingreso: diciembre-2003
Ubicación: La Plata, Argentina
Mensajes: 92
Antigüedad: 20 años, 4 meses
Puntos: 1
Respuesta: Mostrar los lunes dentro de los 60 días próximos

Esto lo puse a modo de ejemplo
Código PHP:
print_r($fechas_lunes); 
podrias hacerlo asi

Código PHP:
<select name="a">
<?
foreach( $$fechas_lunes as $fecha){
    echo 
"<option value='".$fecha."'>".$fecha."</option>";
}
?>
</select>
disculpen la desproligidad, estoy apurado,
__________________
Ulises
  #8 (permalink)  
Antiguo 04/07/2008, 13:25
 
Fecha de Ingreso: diciembre-2004
Mensajes: 10
Antigüedad: 19 años, 4 meses
Puntos: 0
Respuesta: Mostrar los lunes dentro de los 60 días próximos

Gracias hermano, justo lo que necesitaba..
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 22:46.