天天看點

php 列印今天,昨天,本周,上周,當月,上月,本季,上季,今年,去年資料

if($filter['mode']) {
            
            switch ($filter['mode']) {
                case 1://今天的資料
                    $time_start     = date("Y-m-d H:i:s",mktime(0, 0 , 0, date('m'),date('d'),date("Y")));
                    $time_end       = date("Y-m-d H:i:s",mktime(23,59,59,date('m'),date('d'),date("Y")));
                    $ex_where .= ' and dt >= ' . strtotime($time_start) . ' and dt <= ' . strtotime($time_end);
                    break;
                case 2://昨天的資料
                    $time_start     = date("Y-m-d H:i:s",mktime(0, 0 , 0, date('m'),date('d'),date("Y")));
                    $time_end       = date("Y-m-d H:i:s",mktime(23,59,59,date('m'),date('d'),date("Y")));
                    $ex_where .= ' and dt >= ' . strtotime($time_start) . ' and dt <= ' . strtotime($time_end);
                    break;
                case 3://本周的資料
                    $time_start     = date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y")));                    
                    $time_end       = date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y")));
                    $ex_where .= ' and dt >= ' . strtotime($time_start) . ' and dt <= ' . strtotime($time_end);
                    break;
                case 4://上周的資料
                    $time_start     = date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+6,date("Y")));                    
                    $time_end       = date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w"),date("Y")));
                    $ex_where .= ' and dt >= ' . strtotime($time_start) . ' and dt <= ' . strtotime($time_end);
                    break;
                case 5://當月的資料
                    $time_start     = date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),1,date("Y")));                    
                    $time_end       = date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("t"),date("Y")));
                    $ex_where .= ' and dt >= ' . strtotime($time_start) . ' and dt <= ' . strtotime($time_end);
                    break;
                case 6://上月的資料
                    $time_start     = date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m") -1,1,date("Y")));                    
                    $time_end       = date("Y-m-d H:i:s",mktime(23,59,59,date("m"),0,date("Y")));
                    $ex_where .= ' and dt >= ' . strtotime($time_start) . ' and dt <= ' . strtotime($time_end);
                    break;
                case 7://本季的資料
                    $season = ceil((date('n'))/3);//當月是第幾季度 
                    $time_start     = date('Y-m-d H:i:s', mktime(0, 0, 0,$season*3-3+1,1,date('Y')));                    
                    $time_end       = date('Y-m-d H:i:s', mktime(23,59,59,$season*3,date('t',mktime(0, 0 , 0,$season*3,1,date("Y"))),date('Y')));
                    $ex_where .= ' and dt >= ' . strtotime($time_start) . ' and dt <= ' . strtotime($time_end);
                    break;
                case 8://上季的資料
                    $season = ceil((date('n'))/3) - 1;//當月是第幾季度 
                    $time_start     = date('Y-m-d H:i:s', mktime(0, 0, 0,$season*3-3+1,1,date('Y')));                    
                    $time_end       = date('Y-m-d H:i:s', mktime(23,59,59,$season*3,date('t',mktime(0, 0 , 0,$season*3,1,date("Y"))),date('Y')));
                    $ex_where .= ' and dt >= ' . strtotime($time_start) . ' and dt <= ' . strtotime($time_end);
                    break;
                case 9://今年的資料
                    $time_start     = date("Y-m-d H:i:s",mktime(0, 0 , 0,1,1,date("Y")));                    
                    $time_end       = date("Y-m-d H:i:s",mktime(23,59,59,12,date('t'),date("Y")));
                    $ex_where .= ' and dt >= ' . strtotime($time_start) . ' and dt <= ' . strtotime($time_end);
                    break;
                case 10://去年的資料
                    $time_start     = date("Y-m-d H:i:s",mktime(0, 0 , 0,1,1,date("Y") -1));                    
                    $time_end       = date("Y-m-d H:i:s",mktime(23,59,59,12,date('t'),date("Y") -1));
                    $ex_where .= ' and dt >= ' . strtotime($time_start) . ' and dt <= ' . strtotime($time_end);
                    break;
                default://所有
                    break;
            }         
        }