Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/04/2009, 09:58
Avatar de pateketrueke
pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 1 mes
Puntos: 2534
Respuesta: Calcular el tiempo pasado, horas/dias/semanas/ ago..".

yo re-escribi esta función de Twitter, se usa para hacer lo que dices....

la limitante, es que solo sirve para distancia en días... y menos

originalmente estaba en Javascript, pero igual... la teoría es simple, así que fácilmente puedes agregar semanas, meses... o años!

Código PHP:
/**
    * (desde[, hasta])
    *
    * Devuelve la diferencia textual entre dos fechas.
    */
function between($past ''$now '')
{
    
$past is_string($past)? strtotime($past): (int) $past;
    
$now is_string($now)? strtotime($now): (int) $now;
    
$now $now <= 0time(): $now;// --

    // restamos..
    
$diff $now $past;

    if (
$diff 60)
    {
        return 
'menos de un minuto';
    }
    else
    {
        if (
$diff 120)
        {
            return 
'hace un minuto';
        }
        else
        {
            if (
$diff < (60 *60))
            {
                return 
'hace ' . ($diff /60) . ' minutos';
            }
            else
            {
                if (
$diff < (120 *60))
                {
                    return 
'hace una hora';
                }
                else
                {
                    if (
$diff < (24 *60 *60))
                    {
                        return 
'hace ' . ($diff /3600) . ' horas';
                    }
                    else
                    {
                        if (
$diff < (48 *60 *60))
                        {
                            return 
'hace un dia';
                        }
                        else
                        {
                            return 
'hace ' . ($diff /86400) . ' dias';
                        }
                    }
                }
            }
        }
    }


espero te sirva, suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.