Twitter RSS pubDate формат - PullRequest
       32

Twitter RSS pubDate формат

0 голосов
/ 05 июня 2010

В твиттер-RSS-ленте pubDate публикуется как

Сб, 5 июня 2010 г. 19: 20

Используя PHP, как лучше всего преобразовать это в время, прошедшее с момента публикации. Например,

опубликовано 4 минуты назад опубликовано 1 час назад опубликовал 4 часа назад опубликовано 1 день назад опубликовал 2 дня назад опубликовано 1 месяц назад он написал 2 месяца назад

Вы помогаете очень ценится

1 Ответ

1 голос
/ 06 июня 2010
function how_long_ago($unixTime) {
    $chunks = array(
        array(60 * 60 * 24 * 365 , 'year'),
        array(60 * 60 * 24 * 30 , 'month'),
        array(60 * 60 * 24 * 7, 'week'),
        array(60 * 60 * 24 , 'day'),
        array(60 * 60 , 'hour'),
        array(60 , 'minute'),
    );
    $today = time();
    $since = $today - $unixTime;
    for ($i = 0, $j = count($chunks); $i < $j; $i++) {
        $seconds = $chunks[$i][0];
        $name = $chunks[$i][1];
        if (($count = floor($since / $seconds)) != 0) {
            break;
        }
    }
    return $count == 1 ? '1 '.$name : "$count {$name}s";
}

$rssUnixTime = strtotime('Sat, Jun 5, 2010 19:20');
echo 'posted '.how_long_ago($rssUnixTime).' ago';
...