TP5时间戳转换为友好时间段,显示几分钟前、小时前、天前

浏览792

php把时间转换为友好时间段,几分钟前、几小时前、几天前的简单函数代码。通过把时间格式转换为时间戳,并把当前的时间戳减去之前时间的时间戳,相减后的时间戳除以相对应的秒数得到几分钟前、几小时前、几天前的展示。

第一种:

PHP代码:common.php

function dateline($date){
    $n = time();
    $t = $n - $date;
    $m = 86400*30;
    if($t <= 3600){
        return ceil($t/60).'分钟前';
    }else if($t >3600 && $t<86400){
        return ceil($t/3600).'小时前';
    }else if( $t >86400 && $t < $m){
        return ceil($t/86400).'天前';
    }else{
        return date("Y-m-d",$date);
    }
}


模板调用:

<span>{$vo.addtime|dateline}</span>


效果:

image.png

thinkphp模板时间调用:

{$vo.addtime|date='Y-m-d H:s:i',###}

第二种:

PHP代码:

<?php
function dateline($date){
     //当前时间的时间戳
    $nowtimes = time();
    //之前时间参数的时间戳
    $posttimes = $date;
    //相差时间戳
    $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*30){
       return intval(($counttime/(3600*24))).'天前'; 
    }else{
      return date("Y-m-d",$posttimes);
    }
}
?>



  • 暂无任何回答