function user_ago($tm,$rcs = 0) {
$cur_tm = time(); $dif = $cur_tm-$tm;
$pds = array('秒','分钟','小时','天','周','个月','年');
$lngh = array(1,60,3600,86400,604800,2630880,31570560);
for($v = sizeof($lngh)-1; ($v >= 0)&&(($no = $dif/$lngh[$v])<=1); $v--); if($v < 0) $v = 0; $_tm = $cur_tm-($dif%$lngh[$v]);
$no = floor($no);
//if($no <> 1) $pds[$v] .='s'; //+s
$x=sprintf("%d %s",$no,$pds[$v]);
if(($rcs == 1)&&($v >= 1)&&(($cur_tm-$_tm) > 0)) $x .= time_ago($_tm);
return $x."前";
}
用法
复制以上代码到/e/class/userfun.php
内容页调用
<?=user_ago($navinfor[newstime])?>
输出 1星期前
列表內容模板(list.var) (*) 调用
$listtemp = "发布时间".user_ago($r[newstime])."";
输出 1星期前