Foros del Web » Programando para Internet » PHP »

como sumar a fecha

Estas en el tema de como sumar a fecha en el foro de PHP en Foros del Web. Mi intencion; al momento de que yo registro un documento de venta al credito indico el plazo digamos 120 dias; quiero que esos 120 dias ...
  #1 (permalink)  
Antiguo 02/12/2009, 16:54
Avatar de zeuzft  
Fecha de Ingreso: junio-2009
Ubicación: peru
Mensajes: 358
Antigüedad: 10 años, 5 meses
Puntos: 2
Exclamación como sumar a fecha

Mi intencion; al momento de que yo registro un documento de venta al credito indico el plazo digamos 120 dias; quiero que esos 120 dias se sumen a la fecha de ingreso; tengo el siguiente codigo pero con esto resto entre fechas; en este caso solo tengo 1 fecha y luego un total de dias; quiero sumar eso.
Código PHP:
$fec=explode('-',$row['doc_fec']);
$fecha=$fec[2].'-'.$fec[1].'-'.$fec[0];
$fi=$fec;
$f1=explode "-"$fi );
$ano1 $f1[0];
$mes1 $f1[1];
$dia1 $f1[2];

//defino fecha 2
$ff=date ("Y-m-d");
$f2=explode "-"$ff );
$ano2 $f2[0];
$mes2 $f2[1];
$dia2 $f2[2];

//calculo timestam de las dos fechas
$timestamp1 mktime(0,0,0,$mes1,$dia1,$ano1);
$timestamp2 mktime(0,0,0,$mes2,$dia2,$ano2); 

//resto a una fecha la otra
$segundos_diferencia $timestamp2 $timestamp1;

//convierto segundos en días
$dias_diferencia $segundos_diferencia / (60 60 24); 
$dias_diferencia floor($dias_diferencia);
$trans=$dias_diferencia $f3;
echo 
abs($trans); 
ojala me puedan ayudar
  #2 (permalink)  
Antiguo 02/12/2009, 16:59
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 10 años, 1 mes
Puntos: 65
Respuesta: como sumar a fecha

Evidentemente no conoces la clase DateTime, te simplifica la vida hombre
Te dejo un ejemplo

Código PHP:
<?php
$fecha
=new DateTime;

$fecha->modify("+120 day");

echo 
$fecha->format("d/m/y");
?>
Al ser una clase, puede instanciarla tantas veces como tengas ganas

Leete en el manual todos los metodos, podes pasar a formato unix, sumar, restar, hacer lo que vos quieras
  #3 (permalink)  
Antiguo 02/12/2009, 17:31
Avatar de zeuzft  
Fecha de Ingreso: junio-2009
Ubicación: peru
Mensajes: 358
Antigüedad: 10 años, 5 meses
Puntos: 2
Respuesta: como sumar a fecha

gracias por la ayuda; pero el problema es que esos 120 dias estan en un campo de mi tabla; como podria instanciarlo para se sume?
  #4 (permalink)  
Antiguo 03/12/2009, 17:07
Avatar de zeuzft  
Fecha de Ingreso: junio-2009
Ubicación: peru
Mensajes: 358
Antigüedad: 10 años, 5 meses
Puntos: 2
Exclamación Respuesta: como sumar a fecha

el codigo quedaria asi; pero igual no funciona me arroja error:
Código PHP:
$fecha01pr=$row['doc_fec']; //fecha con q se registro el documento
    
$plfecha=$row['doc_plazo'];  //vencimiento ejm: 120 dias
    
$fecha01pr=modify("+$plfecha day");  //aqui se supone que me debe sumar
            //y en este parte imprimir el resultado junto con otros datos
    
$fecha01pr->format("d/m/y"); //aqui debe cambiar el formato
       
echo"<tr bgcolor='$color'>
            <td align='center' class='carmen2'>$vercli</td>            
            <td align='center' class='carmen2'>$num</td>            
            <td align='center' class='carmen2'>$fecha</td>
            <td align='center' class='carmen2'>"
;$fecha01pr->format("d/m/y"); echo"</td>
            <td align='center' class='carmen2'>$importe</td>
            <td align='center' class='carmen2'>"
.number_format($saldo2'.'' ')."</td>        
            </tr>"

pero me arroja este error:
Cita:
Fatal error: Call to undefined function modify() in /home/citecper/public_html/sistema/reporte_ctas_cobrar.php on line 56
linea 56:
Cita:
$fecha01pr=modify("+$plfecha day");
  #5 (permalink)  
Antiguo 03/12/2009, 17:20
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 10 años, 1 mes
Puntos: 65
Respuesta: como sumar a fecha

Ysalvo que la hayas hecho vos la funcion modify() la verdad no la conozco. El ejemplo que yo te pase es unmetodo de la clase DateTime, primero deberias instanciar la clase para poder usarlo...
  #6 (permalink)  
Antiguo 03/12/2009, 18:30
Avatar de zeuzft  
Fecha de Ingreso: junio-2009
Ubicación: peru
Mensajes: 358
Antigüedad: 10 años, 5 meses
Puntos: 2
Respuesta: como sumar a fecha

como asi; cual clase; yo solo adpate el codigo que se me proporciono.
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 17:50.