在一些网站上常常可以看到一篇文章发布的时间显示几分钟前,几小时前或几天前,这种时间的书写方式可以很方便一些对时间日期不敏感的访客。在php脚本中想实现这种时间的表现方式该如何做呢?
php时间转换为几分钟前,几小时前,几天前,几月前的方法
方法1:自定义一个php显示几分钟前,几小时前,几天前的函数
/**
* # php显示几分钟前,几小前,昨天,前天,多少天前的函数
* @param $posttime 格式化后的时间
* @ 墨初 http://www.feiniaomy.com
*/
function time_ago($posttime)
{
$nowtimes = strtotime(date('Y-m-d H:i:s'),time());
$posttimes = strtotime($posttime);
$counttime = $nowtimes - $posttimes;
if($counttime<=10){
return '刚刚';
}else if($counttime>10 && $counttime<=30){
return '刚才';
}else if($counttime>30 && $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*20){
return intval(($counttime/(3600*24))).'天前';
}else{
return $posttime;
}
}
函数使用方法:
echo time_ago('2021/05/12 10:08:12');
方法2:php自定义一个显示几分钟前,几小时前,几天前,几月前,几年的函数
/**
* # php显示几分钟前,几小前,昨天,前天,多少天前的函数
* # 此方法来自zblog wiki 文档
* @param $posttime 格式化后的时间
* @ 墨初 http://www.feiniaomy.com
*/
function Time_Ago($ptime)
{
$ptime = strtotime($ptime);
$etime = time() - $ptime;
if($etime < 1) return '刚刚';
$interval = array (
12 * 30 * 24 * 60 * 60 => '年前 ('.date('Y-m-d', $ptime).')',
30 * 24 * 60 * 60 => '个月前 ('.date('m-d', $ptime).')',
7 * 24 * 60 * 60 => '周前 ('.date('m-d', $ptime).')',
24 * 60 * 60 => '天前',
60 * 60 => '小时前',
60 => '分钟前',
1 => '秒前'
);
foreach ($interval as $secs => $str) {
$d = $etime / $secs;
if ($d >= 1) {
$r = round($d);
return $r . $str;
}
};
}
函数调用:
echo Time_Ago('2021/05/12 10:08:12');
如果文章或资源对您有帮助,欢迎打赏作者。一路走来,感谢有您!
txttool.com 说一段 esp56物联 查询128 IP查询