在做布的文章是刚刚发布的、几分钟发布的、几小时前发布的、昨天发布的等等。php语法如何利用函数实现这种功能呢?
先看一下效果:
介绍一下具体代码!
/**
* # php显示几分钟前,几小前,昨天,前天,多少天前的函数
* @param $posttime 格式化后的时间
*/
function formateTimeAgo($posttime)
{
$nowtimes = strtotime(date('Y-m-d H:i:s'),time());
$counttime = $nowtimes - $posttime;
if($counttime<=60){
return '刚刚';
}else if($counttime>60 && $counttime<=120){
return '1分钟前';
}else if($counttime>120 && $counttime<=180){
return '2分钟前';
}else if($counttime>180 && $counttime<3600){
return intval(($counttime/60)).'分钟前';
}else if($counttime>=3600 && $counttime<3600*24){
return intval(($counttime/3600)).'小时前';
}else if($counttime>=3600*24 && $counttime<3600*24*2){
return '昨天';
}else if($counttime>=3600*24*2 && $counttime<3600*24*3){
return '前天';
}else if($counttime>=3600*24*3 && $counttime<=3600*24*7){
return intval(($counttime/(3600*24))).'天前';
}else if($counttime>=3600*24*7 && $counttime<=3600*24*30){
return intval(($counttime/(3600*24*7))).'周前';
}else if($counttime>=3600*24*30 && $counttime<=3600*24*365){
return intval(($counttime/(3600*24*30))).'月前';
}else if($counttime>=3600*24*365 && $counttime<=3600*24*365*10){
return intval(($counttime/(3600*24*30*12))).'年前';
}else{
return date('Y-m-d', $posttime);
}
}