Ver Mensaje Individual
  #7 (permalink)  
Antiguo 20/01/2013, 18:47
Avatar de andresdzphp
andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 10 meses
Puntos: 793
Respuesta: Problema con Funcion de sumar fechas

Con strtotime puedes hacer algo así:

Código PHP:
Ver original
  1. function masxmeses($fecha, $meses, $formato) {
  2.     $fe_i = strtotime($fecha);
  3.     $masxmeses = strtotime("$fecha + $meses months");
  4.    
  5.     if (date('j', $fe_i) != date('j', $masxmeses)) {
  6.         return date($formato, strtotime('last day of last month', $masxmeses));
  7.     }
  8.    
  9.     return date($formato, $masxmeses);
  10. }
  11.  
  12. echo masxmeses('2012-12-31', 2, 'd-m-Y'); //28-02-2013

o con DateTime así:

Código PHP:
Ver original
  1. function masxmeses2($fecha, $meses, $formato) {
  2.     $date = new DateTime($fecha);
  3.     $fe_i = $date->format('j');
  4.    
  5.     $date->modify("+$meses month");
  6.     $masxmeses = $date->format('j');
  7.    
  8.     if ($fe_i != $masxmeses) {
  9.         $date->modify('last day of last month');
  10.     }
  11.    
  12.     return $date->format($formato);
  13. }
  14.  
  15. echo masxmeses2('2012-12-31', 2, 'd-m-Y'); //28-02-2013
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP