可能重复:
Converting timestamp to time ago in php e.g 1 day ago, 2 days ago
我试图通过php显示帖子的年龄。我正在做的是使用下面的代码在mysql中存储php时间戳。
$timestamp=time();
那么我留下了这样的数字
1334216865
我将如何改变它,以便举例:
8秒前
如果您在10秒后刷新页面,则会显示:
18秒前
我不确定如何将时间戳转换回时间来展示我的示例。
谢谢
答案 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秒。