Twitter RSS フィードでは、pubDate は次のように公開されます。
2010年6月5日(土) 19:20
PHP を使用して、これを公開後の経過時間に変換する最良の方法を教えてください。たとえば、
4 分前に投稿 1 時間前に投稿 4 時間前に投稿 1 日前に投稿 2 日前に投稿 1 か月前に投稿 2 か月前に投稿
あなたはとても感謝しています
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';