PHP – Date – Sumar meses
Función que suma un número determinado de meses a una fecha en formato yyyy-mm-dd. La fecha original no se modifica y devuelve la fecha con los meses sumados.
No se comprueba que la fecha sea válida.
/**
* Class HelperDate
*/
abstract class HelperDate
{
/**
* Suma un número de meses a una fecha.
* Formato de fecha: yyyy-mm-dd.
*
* @param string $fecha
* @param int $meses
*
* @return string
*/
public static function sumarMeses($fecha, $meses)
{
list($anio, $mes, $dia) = explode('-', $fecha);
if ($mes + $meses > 12) {
$sumarMeses = (intval(($mes + $meses) % 12));
$sumarAnys = intval(($mes + $meses) / 12);
$mes = $sumarMeses; /* -- No se suma */
$anio += $sumarAnys;
} else {
$mes += $meses;
$anio += 0;
}
return $anio . '-' .
substr('00'.$mes, -2 ) . '-' .
substr('00'.$dia, -2 );
}
}
