Fechas

Definir diferencias entre dos fechas

=')) date_default_timezone_set('America/Mexico_City'); // Definir la primer fecha $hora1 = 0; $minuto1 = 0; $segundo1 = 0; $mes1 = 1; $dia1 = 1; $anio1 = 2007; // Desplegar partes de la fecha echo "Hora : $hora1 Minuto : $minuto1 Segundo : $segundo1 Mes : $mes1 Dia : $dia1 Año : $anio1
"; // Generar timestamp de la primera fecha $timestamp1 = mktime($hora1,$minuto1,$segundo1,$mes1,$dia1,$anio1); echo "\$timestamp1 : $timestamp1 (" . date('j/n/Y g:i:s A',$timestamp1) . ')

'; // Definir la segunda fecha $hora2 = 1; $minuto2 = 45; $segundo2 = 30; $mes2 = 1; $dia2 = 14; $anio2 = 2007; // Desplegar partes de la fecha echo "Hora : $hora2 Minuto : $minuto2 Segundo : $segundo2 Mes : $mes2 Dia : $dia2 Año : $anio2
"; // Generar timestamp de la segunda fecha $timestamp2 = mktime($hora2,$minuto2,$segundo2,$mes2,$dia2,$anio2); echo "\$timestamp2 : $timestamp2 (" . date('j/n/Y g:i:s A',$timestamp2) . ')

'; // Calcular diferencia entre los timestamps // Restar los timestamps directamente = segundos - segundos echo 'Diferencia en Segundos : ' .($timestamp2 - $timestamp1). '
'; // 1 minuto * 60 segundos echo "Diferencia en minutos : ".floor(($timestamp2 - $timestamp1)/60) . '
'; // 60 minutos * 60 segundos = 3600 echo "Diferencia en horas = ".floor(($timestamp2 - $timestamp1)/3600) . '
'; // 24 horas * 60 minutos * 60 segundos = 86400 echo 'Diferencia en dias : '.floor(($timestamp2 - $timestamp1)/86400) . '
'; // 7 dias * 24 horas * 60 minutos * 60 segundos = 604800 echo 'Diferencia en semanas : '.floor(($timestamp2 - $timestamp1)/604800) . '
'; /* 30.416666666666666666666666666667 dias * 24 horas * 60 minutos * 60 segundos = 2628000 365 / 12 = 30.416666666666666666666666666667 */ echo 'Diferencia en meses : '.floor(($timestamp2 - $timestamp1)/2628000) . '
'; // 12 meses * 30.416666666666666666666666666667 dias * 24 horas * 60 minutos * 60 segundos = 31536000 echo 'Diferencia en años : '.floor(($timestamp2 - $timestamp1)/31536000) . "

"; // Calcular tiempo transcurrido $diferencia = $timestamp2 - $timestamp1; // Diferencia en aņos // 12 meses * 30.416666666666666666666666666667 dias * 24 horas * 60 minutos * 60 segundos = 31536000 $anios = floor($diferencia / 31536000); // Restarle los aņos a la diferencia $diferencia -= $anios * 31536000; // Diferencia en meses /* 30.416666666666666666666666666667 dias * 24 horas * 60 minutos * 60 segundos = 2628000 365 / 12 = 30.416666666666666666666666666667 */ $meses = floor($diferencia / 2628000); // Restarle los meses a la diferencia $diferencia -= $meses * 2628000; // Diferencia en semanas // 7 dias * 24 horas * 60 minutos * 60 segundos = 604800 $semanas = floor($diferencia / 604800); // Restarle las semanas a la diferencia $diferencia -= $semanas * 604800; // Diferencia en dias // 24 horas * 60 minutos * 60 segundos = 86400 $dias = floor($diferencia / 86400); // Restarle los dias a la diferencia $diferencia -= $dias * 86400; // Diferencia en horas // 60 minutos * 60 segundos = 3600 $horas = floor($diferencia / 3600); // Restarle las horas a la diferencia $diferencia -= $horas * 3600; // Diferencia en minutos // 1 minuto * 60 segundos $minutos = floor($diferencia / 60); // Restarle los minutos a la diferencia $diferencia -= $minutos * 60; // Diferencia en segundos $segundos = $diferencia; echo 'Entre ' . date('j/n/Y g:i:s A',$timestamp1) . ' y ' . date('j/n/Y g:i:s A',$timestamp2) . '
'; echo 'Han transcurrido ' . $anios . ' años ' . $meses . ' meses ' . $semanas . ' semanas ' . $dias . ' dias ' . $horas . ' horas ' . $minutos . ' minutos y ' . $segundos . ' segundos.

'; ?>