Posted By

linkmoises on 04/11/11


Tagged

time date fecha ago tiempo atras


Versions (?)

Hace x tiempo atrás


 / Published in: PHP
 

  1. <?php
  2.  
  3. function tiempo_transcurrido($fecha) {
  4. if(empty($fecha)) {
  5. return "No hay fecha";
  6. }
  7.  
  8. $intervalos = array("segundo", "minuto", "hora", "dí­a", "semana", "mes", "año");
  9. $duraciones = array("60","60","24","7","4.35","12");
  10.  
  11. $ahora = time();
  12. $Fecha_Unix = strtotime($fecha);
  13.  
  14. if(empty($Fecha_Unix)) {
  15. return "Fecha incorrecta";
  16. }
  17. if($ahora > $Fecha_Unix) {
  18. $diferencia = $ahora - $Fecha_Unix;
  19. $tiempo = "Hace";
  20. } else {
  21. $diferencia = $Fecha_Unix - $ahora;
  22. $tiempo = "Dentro de";
  23. }
  24. for($j = 0; $diferencia >= $duraciones[$j] && $j < count($duraciones)-1; $j++) {
  25. $diferencia /= $duraciones[$j];
  26. }
  27.  
  28. $diferencia = round($diferencia);
  29.  
  30. if($diferencia != 1) {
  31. $intervalos[5].="e"; //meses... la magia del español
  32. $intervalos[$j].= "s";
  33. }
  34.  
  35. return "$tiempo $diferencia $intervalos[$j]";
  36. }
  37.  
  38. // Ejemplos de uso
  39. // fecha en formato yyyy-mm-dd
  40. // echo tiempo_transcurrido('2010/02/05');
  41. // fecha y hora
  42. echo tiempo_transcurrido('2011/02/21 21:37:00');
  43. ?>

Report this snippet  

You need to login to post a comment.