14/05/2004, 10:06
|
| | Fecha de Ingreso: mayo-2004 Ubicación: Quito
Mensajes: 17
Antigüedad: 20 años, 6 meses Puntos: 0 | |
Respuesta a suma dias Hice una función hace poco y si funciona pruebala, esta función llama a otras que estan muy explicitas pero tambien te las mando
/* Función que suma días calendario a una fecha*/
function sumaDiasCalendario($fecha, $dias)
{
//separa la fecha en anio mes y dia tomando en cuenta que la fecha este en formato mysql
$anio=retornaAnio($fecha);
$mes=retornaMes($fecha);
$dia=retornaDia($fecha);
$aux= $dia+$dias;
while($aux>ultimoDia($mes,$anio))
{
$aux= $aux-ultimoDia($mes,$anio);
$mes++;
if($mes>12)
{
$anio++;
$mes=1;
}
}
$dia=$aux;
$fecha1=unirFecha($anio, $mes, $dia);
return $fecha1;
}
/*funcion retorna el año de una fecha (MYSQL)*/
function retornaAnio($fecha)
{
$anio=substr($fecha, 0,4);
return $anio;
}
/*funcion retorna el mes de una fecha (MYSQL)*/
function retornaMes($fecha)
{
$mes=substr($fecha, 5, 2);
return $mes;
}
/*funcion retorna el día de una fecha (MYSQL)*/
function retornaDia($fecha)
{
$dia=substr($fecha, 8);
return $dia;
}
/*Función que une las porciones de la fecha (MYSQL)*/
function unirFecha($anio, $mes, $dia)
{
$fecha=$anio.'-'.$mes.'-'.$dia;
return $fecha;
}
/*Función ultimoDia($mes,$ano)
Sirve para devolver el último día de un mes y año indicados por parámetro. */
function ultimoDia($mes,$ano)
{
$ultimo_dia=28;
while (checkdate($mes,$ultimo_dia + 1,$ano))
{
$ultimo_dia++;
}
return $ultimo_dia;
}
__________________ Maury |