PHP时间戳显示秒

时间:2012-04-12 06:57:42

标签: php timestamp

  

可能重复:
  Converting timestamp to time ago in php e.g 1 day ago, 2 days ago

我试图通过php显示帖子的年龄。我正在做的是使用下面的代码在mysql中存储php时间戳。

$timestamp=time();

那么我留下了这样的数字

1334216865

我将如何改变它,以便举例:

8秒前

如果您在10秒后刷新页面,则会显示:

18秒前

我不确定如何将时间戳转换回时间来展示我的示例。

谢谢

3 个答案:

答案 0 :(得分:6)

或者你可以做一点“time_ago”功能:

function ago($time) { 
    $timediff=time()-$time; 

    $days=intval($timediff/86400);
    $remain=$timediff%86400;
    $hours=intval($remain/3600);
    $remain=$remain%3600;
    $mins=intval($remain/60);
    $secs=$remain%60;

    if ($secs>=0) $timestring = "0m".$secs."s";
    if ($mins>0) $timestring = $mins."m".$secs."s";
    if ($hours>0) $timestring = $hours."u".$mins."m";
    if ($days>0) $timestring = $days."d".$hours."u";

    return $timestring; 
}
echo ago(1334214962);

答案 1 :(得分:4)

echo (time() - $post_timestamp) . " seconds ago";
很简单。

答案 2 :(得分:2)

再次运行time()函数并减去发布时间 - 然后做一些算术输出已经过了多长时间:每分钟60秒,每小时60分钟等等......时间函数是多少秒自从很久以前的一些事件。所以,时间函数的每个增量都是1秒。