Foros del Web » Programando para Internet » PHP »

aumentar un año en fecha

Estas en el tema de aumentar un año en fecha en el foro de PHP en Foros del Web. Tengo un problema y es que no saco el sript para aumentar el año de una fecha, y toy que me salgo algo muy raro ...
  #1 (permalink)  
Antiguo 03/07/2009, 06:01
 
Fecha de Ingreso: diciembre-2007
Mensajes: 149
Antigüedad: 16 años, 4 meses
Puntos: 1
aumentar un año en fecha

Tengo un problema y es que no saco el sript para aumentar el año de una fecha, y toy que me salgo algo muy raro jajajaj se flipa un monton y me aumenta a una fecha muy rara. PAra empezar, tengo la fecha por ejemplo, 29-04-1983 la quiero incrementar 365 dias mas o 366 dependiendo si el año es bisiesto, os dejo lo que tengo y lo que me devuelve vale a ver si veis donde esta el fallo:

fecha actual = 03-07-2009;
años incrementados = 1 => 365 dias.

La siguiente funcion incrementa un numero de dias:
Código PHP:

function suma_fechas($fecha,$ndias,$separador)
{
      if (
preg_match("/[0-9]{1,2}\$separador[0-9]{1,2}\$separador([0-9][0-9]){1,2}/",$fecha))
      list(
$dia,$mes,$año)=split("$separador", $fecha);
      
$nueva mktime(0,0,0$mes,$dia,$año) + $ndias * 24 * 60 * 60;
      
$nuevafecha=date("m-d-Y",$nueva);
      return (
$nuevafecha);  

El script que llama a la funcion es este:

Código PHP:

$nuevo 
date("Y");
                                        
// CON LA FUNCION DE SUMAR LO DIAS  AHORA HAY KEKOMPROBAR SI ESTE AÑO ES VISIESTO
                                        // PARA SABER CUANTOS DÍAS SUMAR.
                                        
$viejo date("d-m-Y");
                                        if(
$nuevo%4 == 0){ $ndias = 366; } else { $ndias = 365; }
                                        
$anio_mas suma_fechas($viejo,$ndias,'-'); 
Pero el resultado no es el esperado sale, 01-01-1970. Gracias por lee mi pregunta, pero es que soy nuevo con las fechas.
  #2 (permalink)  
Antiguo 03/07/2009, 06:28
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 7 meses
Puntos: 18
Respuesta: aumentar un año en fecha

Código php:
Ver original
  1. function dateadd($date, $dd=0, $mm=0, $yy=0, $hh=0, $mn=0, $ss=0){
  2.     $date_r = getdate(strtotime($date));
  3.     $date_result = date("m/d/Y h:i:s", mktime(($date_r["hours"]+$hh),($date_r["minutes"]+$mn),($date_r["seconds"]+$ss),($date_r["mon"]+$mm),($date_r["mday"]+$dd),($date_r["year"]+$yy)));
  4.     return $date_result;
  5. }
  6. $fecha = "02/04/2008"; //mes/dia/año
  7. $fecha_actualizada = dateadd($fecha,0,0,1,0,0,0); // suma 1 año a la fecha
  #3 (permalink)  
Antiguo 03/07/2009, 06:58
 
Fecha de Ingreso: diciembre-2007
Mensajes: 149
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: aumentar un año en fecha

gracias ese script si funciona ^^. Gracias hombre.
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 12:19.