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.
';
?>