更改时间戳的时间?

时间:2013-05-25 06:35:58

标签: php timestamp

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

任何帮助将不胜感激

3 个答案:

答案 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