MySQL: показать «Добавлено ... назад» (TIMESTAMPS) - PullRequest
0 голосов
/ 07 августа 2011

Я пытаюсь добавить что-то вроде «Добавлено 1 час, 24 минуты назад» или «Добавлено 1 месяц назад» и т. Д. На мой веб-сайт.
Я пробовал использовать решение здесь, но оно не сработало: http://www.phpbuilder.com/board/showthread.php?t=10362190

Моя временная метка в этом формате;ГГГГ-ММ-ДД ЧЧ-ММ-СС.(Использование NOW();)

Извините, если я недостаточно описательный - я попытался выполнить поиск в Google, и, честно говоря, не было никакого надежного рабочего решения.

Спасибо!

1 Ответ

2 голосов
/ 07 августа 2011

Вы не знаете, как Google ... http://tutorialzine.com/2009/09/making-our-own-twitter-timeline/ И то, что у вас есть, не является меткой времени UNIX, вам нужно будет конвертировать ее с помощью strtotime()

function relativeTime($dt,$precision=2)
{
    $times=array(   365*24*60*60    => "year",
                30*24*60*60     => "month",
                7*24*60*60      => "week",
                24*60*60        => "day",
                60*60           => "hour",
                60              => "minute",
                1               => "second");

    $passed=time()-$dt;

    if($passed<5)
    {
        $output='less than 5 seconds ago';
    }
    else
    {
        $output=array();
        $exit=0;
        foreach($times as $period=>$name)
        {
            if($exit>=$precision || ($exit>0 && $period<60))    break;
            $result = floor($passed/$period);

            if($result>0)
            {
                $output[]=$result.' '.$name.($result==1?'':'s');
                $passed-=$result*$period;
                $exit++;
            }

            else if($exit>0) $exit++;

        }
        $output=implode(' and ',$output).' ago';
    }

    return $output;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...