美文网首页
PHP对比当前时间返回xx小时前,xx天前。。。

PHP对比当前时间返回xx小时前,xx天前。。。

作者: 丢了发型的男人 | 来源:发表于2018-02-22 17:46 被阅读0次
PHP 自定义方法,传递时间,返回与当前时间的相差时间 
    //对比当前时间    
function format_date($dateStr) {  
    $limit = time() - strtotime($dateStr);  
    $r = "";  
    if($limit < 60) {  
        $r = '刚刚';  
    } elseif($limit >= 60 && $limit < 3600) {  
        $r = floor($limit / 60) . '分钟前';  
    } elseif($limit >= 3600 && $limit < 86400) {  
        $r = floor($limit / 3600) . '小时前';  
    } elseif($limit >= 86400 && $limit < 2592000) {  
        $r = floor($limit / 86400) . '天前';  
    } elseif($limit >= 2592000 && $limit < 31104000) {  
        //$r = floor($limit / 2592000) . '个月前';
        $r = $dateStr;
    } else {  
        $r = $dateStr;  
    }  
    //return $r . "(" . $dateStr . ")";  
    return $r;  
}  

返回当前天的 0 点时间戳 和 结束时间戳

// 从数据库里面查询一天24小时的数据     要求每个小时为一段
 public function mySelect(){
        $res = 'selct * from tablename';
        $y = date('y');
        $m = date('m');
        $d = date('d');
        //当天0点时间戳
        $start = (int)mktime(0,0,0,$m,$d,$y);
        //当天结束时间戳
        $end = (int)mktime(23,59,59,$m,$d,$y);
        
        $arr = [];
        foreach($res as $k=>$v){
            $mytime = intval(strtotime($v['time']));

            if($start<=$mytime && $mytime<$start+3600){//0点~1点
                $arr[0][$k] = $v;
            }elseif($start+3600<=$mytime && $mytime<$start+7200){//1点~2点
                $arr[1][$k] = $v;
            }else{//23点~次日0点
                $arr[23][$k] = $v;
            }

        }
        return $arr;
    }
    

相关文章

网友评论

      本文标题:PHP对比当前时间返回xx小时前,xx天前。。。

      本文链接:https://www.haomeiwen.com/subject/fuyztftx.html