-1

我正在寻找一个 PHP 代码来改变这样的时间:Fri Jul 16 16:58:46 +0000 2010到这样的时间戳:20 secs ago

任何帮助将不胜感激

4

3 回答 3

3

使用该strtotime()函数,然后将其与当前时间进行比较:

$timestamp = strtotime( 'Fri Jul 16 16:58:46 +0000 2010' );

$diff = time() - $timestamp;

这为您提供了与当前时间的差异,您可以按照您需要的方式输出它。

于 2013-05-25T06:37:58.360 回答
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..';
    }
}
于 2013-05-25T06:39:04.573 回答
1

你应该使用一个强大的库来处理这个问题,这样你不仅可以估计几秒钟,还可以估计几小时、几天、几周、几个月等时间流逝的时间。见即http://github.com/jimmiw/php-time-ago

于 2013-05-25T06:39:07.490 回答