Hi !
Esto lo encontré en un BLOG - www(dot)tuxi(dot)com(dot)ar -, te lo pego aqui:
Código PHP:
<?
// Fecha en formato dd/mm/yyyy o dd-mm-yyyy retorna la diferencia en dias
function restaFechas($dFecIni, $dFecFin)
{
$dFecIni = str_replace("-","",$dFecIni);
$dFecIni = str_replace("/","",$dFecIni);
$dFecFin = str_replace("-","",$dFecFin);
$dFecFin = str_replace("/","",$dFecFin);
ereg( "([0-9]{1,2})([0-9]{1,2})([0-9]{2,4})", $dFecIni, $aFecIni);
ereg( "([0-9]{1,2})([0-9]{1,2})([0-9]{2,4})", $dFecFin, $aFecFin);
$date1 = mktime(0,0,0,$aFecIni[2], $aFecIni[1], $aFecIni[3]);
$date2 = mktime(0,0,0,$aFecFin[2], $aFecFin[1], $aFecFin[3]);
return round(($date2 - $date1) / (60 * 60 * 24));
}
// Ej.: con fechas fijas
$resultado_resta = restaFechas('01-05-2007','04-05-2007');
echo "Artículo publicado hace ".$resultado_resta." días.";
// Podemos reemplazar la fecha inicial fija, por las que tengamos en el registro del Artículo de la base de datos
// Ej.: $resultado_resta = restaFechas( $fecha_articulo , date('d-m-Y') );
?>
Verás que el resultado esta dado en dias, pero puedes hacer un paso anterior y dividirlo entre 30 o 31 y de esa forma obtener el numero de meses transcurridos.
Suerte !
-ByE-