Ver Mensaje Individual
  #5 (permalink)  
Antiguo 18/03/2016, 00:47
rbczgz
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 6 meses
Puntos: 154
Respuesta: NO cuadra el MES

Hola

Esta función me la proporcionó un compañero de estos mismos foros, ahora no recuerdo quién fue, aunque me salvo "la papeleta", si alguien ve el post original, que agregue aquí los créditos correspondientes:

Código PHP:
Ver original
  1. //función para sumar meses a una fecha
  2. //retorna una fecha con los meses que se le han pasado, sumados
  3. function SumaMes($fecha, $meses, $formato) {
  4.       //inicializamos el objeto DateTime con la fecha
  5.       $dt = new DateTime($fecha);
  6.       //sacamos el día de esa fecha inicial
  7.       $fe_i = $dt->format('j');
  8.      
  9.       //le sumamos los meses a esa fecha inicial
  10.       $dt->modify("+$meses month");
  11.       //sacamos el día que nos dió al sumarle los meses
  12.       $masxmeses = $dt->format('j');
  13.      
  14.           //si son diferentes (se pasó a otro mes)
  15.       if ($fe_i != $masxmeses) {
  16.           //le restamos los días que se pasó
  17.           $dt->modify("-$masxmeses days");
  18.           //devolvemos esa fecha restandole los días
  19.           return $dt->format($formato);
  20.       }
  21.      
  22.       //si son iguales los dias es porque no se pasó
  23.       //devolvemos la fecha + 1 mes
  24.       return $dt->format($formato);
  25. }
  26.  
  27.  
  28. //uso: SumaMes('31-01-2015', 1, 'd-m-Y'); //28-02-2015

Espero que te sirva.