我正在寻找一个 PHP 代码来改变这样的时间:Fri Jul 16 16:58:46 +0000 2010
到这样的时间戳:20 secs ago
任何帮助将不胜感激
使用该strtotime()
函数,然后将其与当前时间进行比较:
$timestamp = strtotime( 'Fri Jul 16 16:58:46 +0000 2010' );
$diff = time() - $timestamp;
这为您提供了与当前时间的差异,您可以按照您需要的方式输出它。
尝试使用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..';
}
}
你应该使用一个强大的库来处理这个问题,这样你不仅可以估计几秒钟,还可以估计几小时、几天、几周、几个月等时间流逝的时间。见即http://github.com/jimmiw/php-time-ago