Foros del Web » Programando para Internet » PHP »

ayuda con fechas

Estas en el tema de ayuda con fechas en el foro de PHP en Foros del Web. Hola: Tiempo que no escribo por aca quisiera pedirles un favor: como puedo generar esta serie: 30/08/2006 30/09/2006 30/10/2006 30/11/2006 30/12/2006 30/01/2007 28/02/2007 30/03/2007 30/04/2007 ...
  #1 (permalink)  
Antiguo 12/08/2005, 16:39
 
Fecha de Ingreso: diciembre-2003
Mensajes: 7
Antigüedad: 14 años
Puntos: 0
Exclamación ayuda con fechas

Hola:
Tiempo que no escribo por aca quisiera pedirles un favor:
como puedo generar esta serie:

30/08/2006
30/09/2006
30/10/2006
30/11/2006
30/12/2006
30/01/2007
28/02/2007
30/03/2007
30/04/2007
30/05/2007
30/06/2007
30/07/2007
30/08/2007
30/09/2007
30/10/2007
30/11/2007
30/12/2007
30/01/2008
29/02/2008
30/03/2008
30/04/2008

es para un programa de pago de letras y no se como puedo generar esas fechas como lo hace el excel quiero que sean cada 30 de cada mes y si cae febrero que sea o 28 o 29 no se como hacerlo por favor necesito su ayuda

Gracias

The heaven is a playground
  #2 (permalink)  
Antiguo 12/08/2005, 16:44
 
Fecha de Ingreso: mayo-2004
Mensajes: 180
Antigüedad: 13 años, 6 meses
Puntos: 2
ummmm probaste con cadenas?
$a = 30;
$b=01;
$c=2007;

luego es cuestion de ir sumando
$b=$b+1
If ($b==12)
{
$b=01;
$c=$c+1;
}

y luego para crearla
$fecha=$a.'/'.$b.'/'.$c;

el rollo es jugar con cadenas que es mucho mas facil que jugar con fechas. No te parece? No se si te valdra pero espero poder haberte ayudado
  #3 (permalink)  
Antiguo 12/08/2005, 16:48
 
Fecha de Ingreso: mayo-2004
Mensajes: 180
Antigüedad: 13 años, 6 meses
Puntos: 2
uy no habia visto lo del año bisiesto. Creo que por ahi hay algun programa que calcula cuando un año es bisiesto. Seria lo mismo que el anterior pero realizando un if cuando el mes sea ==2. Ahora no tengo tiempo mas que para esta respuesta cutre y rapida si mañana sigue sin contestarte nadie te lo pongo mas detallado y mejor.
  #4 (permalink)  
Antiguo 12/08/2005, 17:58
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
Prueba esto:

Código PHP:
<?php
    
//devuelve el dia 30 o el ultimo valido
    
function ultimoDiaMes30($mes,$año)
    {
        for (
$i=27;$i<31;$i++)
        {
            if (
checkdate($mes,$i,$año))
                
$dia_valido=$i;
        }
        return 
$dia_valido;
    }

    
$fecha_actual="12/08/2005";
    
$meses=40;
    
$arr_fecha=explode("/",$fecha_actual);
    
$ts_actual=mktime(0,0,0,$arr_fecha[1],$arr_fecha[0],$arr_fecha[2]);
    for (
$i=0;$i<$meses;$i++)
    {
        
$mes=date("m",$ts_actual);
        
$año=date("Y",$ts_actual);
        
$dia=ultimoDiaMes30($mes,$año);
        
$fecha_ver="$dia/$mes/$año";

        echo 
$fecha_ver."<br>";

        
$ts_actual=mktime(0,0,0,$arr_fecha[1]+1,$arr_fecha[0],$arr_fecha[2]);
        
$fecha_actual=date("d/m/Y",$ts_actual);
        
$arr_fecha=explode("/",$fecha_actual);
    }
?>
  #5 (permalink)  
Antiguo 14/08/2005, 10:56
 
Fecha de Ingreso: diciembre-2003
Mensajes: 7
Antigüedad: 14 años
Puntos: 0
muchas gracias por las respuestas a ambos, mike nunca habia pensado en trabajar con cadenas me haz dado una ayuda para otro problemita (y) , claudio ese codigo lo estoy probando ahora parece que el achuntasete les agradesco otra vez a ambos apenas tenga algo positivo les aviso
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 04:28.