-1

可能重复:
将时间戳转换为 php 中的时间,例如 1 天前、2 天前

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

$timestamp=time();

所以我留下了一个这样的数字

1334216865

我将如何去改变它,所以它会说例子:

8 秒前

如果您在 10 秒后刷新页面,它将显示:

18 秒前

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

谢谢

4

3 回答 3

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);
于 2012-04-12T07:04:36.670 回答
4
echo (time() - $post_timestamp) . " seconds ago";

非常简单。

于 2012-04-12T07:01:21.167 回答
2

只需再次运行 time() 函数并减去发布的时间 - 然后进行一些算术运算以输出它已经持续了多长时间:每分钟 60 秒、每小时 60 分钟等......时间函数是自某个事件以来的秒数很久以前。因此,时间函数的每个增量都是 1 秒。

于 2012-04-12T07:02:00.797 回答