Código PHP:
Ver original<?php
// Comprobamos si hay algún año bisiesto. 86400 segundos es un dias
$fInicio = "07/01/2010";
$fFinal = "08/02/2013";
$AInicio = 2010;
$AFinal = 2013;
for ($i = $AInicio; $i <= $AFinal; $i++) {
(($i % 4) == 0) ? $bis = 86400 : $bis = 0;
$sumadiasBis += $bis;
}
echo "Fecha de Inicio " .$fInicio. "<br />Fecha Final " .$fFinal. "<br /><br />Restan<br />";
// Calculamos los segundos entre las dos fechas
$fechaInicio = mktime(0,0,0,1,7,2010); $fechaFinal = mktime(0,0,0,2,18,2013); $segundos = ($fechaFinal - $fechaInicio);
$anyos = floor(($segundos-$sumadiasBis)/31536000); echo $anyos. " años<br />";
$segundosRestante = ($segundos-$sumadiasBis)%(31536000);
$meses = floor($segundosRestante/2592000); echo $meses. " meses<br />";
$segundosRestante = ($segundosRestante%2592000); // Suma un día mas por cada años bisiesto
//$segundosRestante = (($segundosRestante-$sumadiasBis)%2592000); // No suma un día mas por cada año bisiesto
$dias = floor($segundosRestante/86400); echo $dias. " días<br />";
?>