php获取时间间隔的方法总结(多少分钟前发表)
1、打开需要显示的文件,添加下面代码。在修改前记得要备份,以免出错能够及时改回。不熟悉PHP的最好不要修改。

2、第一种方法:获取时间间隔
function transDate($timestamp){
$curTime=time();
$space=$curTime-$timestamp;
if($space<60){
$string='刚刚';
return $string;
}elseif($space<3600){
$string=floor($space/60).'分钟前';
return $string;
}
$curtimeArray=getdate($curTime);
$timeArray=getDate($timestamp);
if($curtimeArray['year']==$timeArray['year']){
if($curtimeArray['yday']==$timeArray['yday']){
$format='%H:%M';
$string=strftime($format,$timestamp);
return '今天';
}elseif(($curtimeArray['yday']-1)==$timeArray['yday']){
$format='%H:%M';
$string=strftime($format,$timestamp);
return '昨天';
}else{
$string=sprintf('%d月%d日',$timeArray['mon'],$timeArray['mday']);
return $string;
}
}
$string=sprintf('%d年%d月%d日',$timeArray['year'],$timeArray['mon'],$timeArray['mday']);
return $string;
}
效果类似如下图

3、第二种方法:php 获取时间间隔
function time_tran($timeInt,$format='Y-m-d H:i:s'){
$d=time()-$timeInt;
if($d<0){
return $timeInt;
}else{
if($d<60){
return $d.'秒前';
}else{
if($d<3600){
return floor($d/60).'分钟前';
}else{
if($d<86400){
return floor($d/3600).'小时前';
}else{
if($d<259200){//3天内
return floor($d/86400).'天前';
}else{
return date($format,$timeInt);
}
}
}
}
}
}
效果类似如下图


4、以上函数的方法在需要显示的地方调取并显示的代码如下:
header('Content-type:text/html;charset=utf-8');
$d=time()-10;
echo transDate($d);//显示结果将为:刚刚
echo '<br />';
echo time_tran($d);//显示结果将为:10秒前

5、显示的格式样式,可根据自己的需求,编写CSS样式。编写CSS推荐使用DW。如有其它使用习惯的工具也可。此代码用起来比较灵活。如果对代码有不明白的地方,欢迎和作者我咨询交流。和你共同解决难题。
