WINTXCODERS Terminal
[visitante@wintxcoders-pc ~]:$ Bienvenido a la comunidad
Recuerda que puedes participar en nuestra comunidad registrándote

Tiempo transcurrido entre una fecha.

Iniciado por Pablo Velasco, Marzo 09, 2017, 03:17:22 PM

« anterior - próximo »

Pablo Velasco

Developer

  • Desconectado
  • 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.