Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/03/2008, 15:17
Avatar de kassem
kassem
 
Fecha de Ingreso: marzo-2008
Mensajes: 15
Antigüedad: 16 años, 8 meses
Puntos: 0
Pregunta Problemas al sumar o restar fechas

Hola a todos amigos haber primero quiero agradecer a Gator V por aguantar mis problemas jajajja!!! es muy buen amigo y segundo quiero que me ayuden con este script lo que hace es sumar o restar fechas pues me lo encontré en una web pues el script si funciona perfectamente lo que pasa es que lo que necesito es que la fecha con la que la función vaya a trabajar sea la que se encuentra en el campo fecha osea que tome esa fecha y le sume los días que se le programe por ejemplo este script le suma a la fecha 60 días ok!!!


-----------------------------PROBLEMA--------------------------

Bueno chicos este es el script:


Código PHP:
<?php function suma_fechas($fecha,$ndias)
            

{
            

      if (
preg_match("/[0-9]{1,2}\/[0-9]{1,2}\/([0-9][0-9]){1,2}/",$fecha))
            

              list(
$año,$mes,$dia)=split("/"$fecha);
            

      if (
preg_match("/[0-9]{1,2}-[0-9]{1,2}-([0-9][0-9]){1,2}/",$fecha))
            

              list(
$dia,$mes,$año)=split("-",$fecha);
        
$nueva mktime(0,0,0$mes,$dia,$año) + $ndias 24 60 60;
        
$nuevafecha=date("Y-m-d",$nueva);
            

      return (
$nuevafecha);  
            

}
echo 
'<head>
            

              <title>'
.$_SERVER[PHP_SELF].'</title>
            

      </head>
            

      <html>
            

      <body>'
;


//aqui es donde quiero llamar a la fecha para después sumarle los Días

$datemysql_query ("SELECT fecha1 FROM donantes WHERE id='$id'"$conex) or die( mysql_error() );

$row2 mysql_fetch_row$date );


$f11=suma_fechas($row2[0], 60); // aquí le sumo a la fecha 60 días
            

      
echo "<br><br>$row2[0] más 60 días es  $f11<br>";
      
echo 
"<a href=$_SERVER[PHP_SELF]>Recargar la Página</a>";
echo 
'</body>
            

      </html>'
;

mysql_close($conex);
?>

pero el resultado que me da es este:



2008-03-05 más 60 días es 2010-10-28


no me funciona..


tendría que dar

2008-03-05 más 60 es 04-05-2008






------------------------------- ESTE ES EL SCRIPT ORIGINAL QUE ENCONTRÉ ---------------------------

Este otro script suma bien pero se daña cuando hago el cambio de arriba no se porque ..

QUIERO SABER QUE PASA?

POR FAVOR ALGUIEN ME ECHE UNA MANO GRACIAS
Código PHP:
<?php



function suma_fechas($fecha,$ndias)
            

{
            

      if (
preg_match("/[0-9]{1,2}\/[0-9]{1,2}\/([0-9][0-9]){1,2}/",$fecha))
            

              list(
$dia,$mes,$año)=split("/"$fecha);
            

      if (
preg_match("/[0-9]{1,2}-[0-9]{1,2}-([0-9][0-9]){1,2}/",$fecha))
            

              list(
$dia,$mes,$año)=split("-",$fecha);
        
$nueva mktime(0,0,0$mes,$dia,$año) + $ndias 24 60 60;
        
$nuevafecha=date("d-m-Y",$nueva);
            

      return (
$nuevafecha);  
            

}
echo 
'<head>
            

              <title>'
.$_SERVER[PHP_SELF].'</title>
            

      </head>
            

      <html>
            

      <body>'
;

$f1="05/03/2008"/* Cuando cambiamos esto por la variable se daña debe pasar algo */
/* $f2="30-01-1992"; */
$f11=suma_fechas($f160);
            

      echo 
"$f1 más 60 es  $f11<br>";
/* $f11=suma_fechas($f1, -40);
            

      echo "$f1 menos 60 es  $f11<br>";
$f21=suma_fechas($f2, 365);
            

      echo "$f2 más 365 es  $f21<br>";
$f21=suma_fechas($f2, -365);
            

      echo "$f2 menos 365 es  $f21<br>";
             */

echo "<a href=$_SERVER[PHP_SELF]>Recargar la Página</a>";
echo 
'</body>
            

      </html>'
;
?>