WINTXCODERS

Programación => Desarrollo web => Mensaje iniciado por: Pablo Velasco en Marzo 09, 2017, 03:17:22 PM

Título: Tiempo transcurrido entre una fecha.
Publicado por: Pablo Velasco en Marzo 09, 2017, 03:17:22 PM
Bueno os lo dejo aquí por si alguien le sirviera.


<?php 
          
function time_elapsed($fecha) {
if(empty($fecha)) {
  return "No hay fecha";
}
   
$intervalos = array("segundo""minuto""hora""día""semana""mes""año");
$duraciones = array("60","60","24","7","4.35","12");
   
$ahora time();
$Fecha_Unix strtotime($fecha);

if(empty($Fecha_Unix)) {   
  return "Fecha incorrecta";
}
if($ahora $Fecha_Unix) {   
  $diferencia $ahora $Fecha_Unix;
  $tiempo "Hace";
} else {
  $diferencia $Fecha_Unix $ahora;
  $tiempo  "Dentro de";
}
for($j 0$diferencia >= $duraciones[$j] && $j count($duraciones) - 1$j++) {
       $diferencia /= $duraciones[$j];
}
   
$diferencia round($diferencia);

if($diferencia != 1) {
$intervalos[5] .= "e";
$intervalos[$j] .= "s";
}
   
return "$tiempo $diferencia $intervalos[$j]";
}
?>



La fecha tiene que estar ordenada de la siguiente forma:


<?php
date
("Y-m-d H:i:s");
?>



Quedaría así: 2017-03-09 15:16:22
Cualquier duda preguntar.