我正在寻找一个PHP代码来改变这样的时间:Fri Jul 16 16:58:46 +0000 2010
到这样的时间戳:20 secs ago
任何帮助将不胜感激
答案 0 :(得分:3)
使用strtotime()
功能,然后将其与当前时间进行比较:
$timestamp = strtotime( 'Fri Jul 16 16:58:46 +0000 2010' );
$diff = time() - $timestamp;
这为您提供了当前时间的差异,您可以按照您需要的方式输出它。
答案 1 :(得分:2)
尝试 strtotime ,如
$my_time = strtotime('Fri Jul 16 16:58:46 +0000 2010');
$diff = time() - $my_time;
echo $diff." Seconds ago..";
您可以获得分钟和小时以及
echo $diff/60."Minutes Ago";
echo $diff/(60*60)."Hours Ago";
完全可以使用
$a = array( 12 * 30 * 24 * 60 * 60 => 'year',
30 * 24 * 60 * 60 => 'month',
24 * 60 * 60 => 'day',
60 * 60 => 'hour',
60 => 'minute',
1 => 'second'
);
foreach ($a as $secs => $str) {
$d = $diff / $secs;
if ($d >= 1) {
$r = round($d);
echo $r . ' ' . $str . ($r > 1 ? 's' : '').' ago..';
}
}
答案 2 :(得分:1)
你应该使用一个强大的库来处理这个问题,这样你不仅可以估计秒数,还可以估计时间过去的时间,小时,天,周,月等。见http://github.com/jimmiw/php-time-ago