美文网首页
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