Foros del Web » Programando para Internet » PHP »

diferencia de meses entre 2 fechas

Estas en el tema de diferencia de meses entre 2 fechas en el foro de PHP en Foros del Web. Hola, quisiera saber la diferencia de meses que hay entre 2 fechas, sabiendo que hay meses que tienen solo 30 dias o 28 en caso ...
  #1 (permalink)  
Antiguo 09/12/2006, 10:05
 
Fecha de Ingreso: marzo-2006
Mensajes: 29
Antigüedad: 18 años, 1 mes
Puntos: 0
diferencia de meses entre 2 fechas

Hola, quisiera saber la diferencia de meses que hay entre 2 fechas, sabiendo que hay meses que tienen solo 30 dias o 28 en caso de febrero.

Tengo esta funcion, pero no me valida los dias 30 ni 28.

<?php
function resta_fechas($fecha1,$fecha2)


{


if (preg_match("/[0-9]{1,2}\/[0-9]{1,2}\/([0-9][0-9]){1,2}/",$fecha1))


list($dia1,$mes1,$año1)=split("/",$fecha1);


if (preg_match("/[0-9]{1,2}-[0-9]{1,2}-([0-9][0-9]){1,2}/",$fecha1))


list($dia1,$mes1,$año1)=split("-",$fecha1);
if (preg_match("/[0-9]{1,2}\/[0-9]{1,2}\/([0-9][0-9]){1,2}/",$fecha2))


list($dia2,$mes2,$año2)=split("/",$fecha2);


if (preg_match("/[0-9]{1,2}-[0-9]{1,2}-([0-9][0-9]){1,2}/",$fecha2))


list($dia2,$mes2,$año2)=split("-",$fecha2);
$dif = mktime(0,0,0,$mes1,$dia1,$año1) - mktime(0,0,0,$mes2,$dia2,$año2);


$ndias=floor($dif/(24*60*60));
$nmeses=floor($dif/(30*24*60*60));


return($nmeses);


}
echo '<head>


<title>'.$_SERVER[PHP_SELF].'</title>


</head>


<html>


<body>';
$f1="10/07/2006";
$nummeses=resta_fechas(date("d/m/Y"),$f1);
//echo "Desde $f1 hasta hoy han transcurrido $nummeses<br>";
echo "<a href=$_SERVER[PHP_SELF]>Recargar la Página</a>";
echo '</body>
</html>';
?>

Gracias de antemano
  #2 (permalink)  
Antiguo 09/12/2006, 10:34
Avatar de Erikfrancisco  
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 20 años, 5 meses
Puntos: 4
Re: diferencia de meses entre 2 fechas

Pues podrías utilizar el código que nos hizo favor de publicar nuestro amigo forista holahola:
http://www.forosdelweb.com/f18/otro-calculo-edad-con-anos-meses-dias-php-448497/
sólo tendrías que hacer unas modificaciones para realizar lo que necesitas, además que este código te sirve para sacar además de los meses los días transcurridos. Suerte
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 13:02.