You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							78 lines
						
					
					
						
							3.0 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							78 lines
						
					
					
						
							3.0 KiB
						
					
					
				
								<?php
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								namespace App\Common;
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								class DataTime
							 | 
						|
								{
							 | 
						|
								    /**
							 | 
						|
								     * 处理时间为空时的时间显示格式
							 | 
						|
								     * @param $time
							 | 
						|
								     * @return string
							 | 
						|
								     */
							 | 
						|
								    public static function format($time)
							 | 
						|
								    {
							 | 
						|
								        if (is_numeric($time)&&$time>0) {
							 | 
						|
								            return date('Y-m-d H:i', $time);
							 | 
						|
								        } elseif (empty($time) || $time->format('Y-m-d') == '1970-01-01') {
							 | 
						|
								            return '-';
							 | 
						|
								        }
							 | 
						|
								        return $time->format('Y-m-d H:i');
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * 查询时间范围
							 | 
						|
								     * @param $option
							 | 
						|
								     * @return array
							 | 
						|
								     */
							 | 
						|
								    public static function beginAndEnd($option)
							 | 
						|
								    {
							 | 
						|
								        $t = time();
							 | 
						|
								        switch ($option) {
							 | 
						|
								            case 'today':
							 | 
						|
								                $beginTime = date('Y-m-d H:i:s', mktime(0, 0, 0, date("m", $t), date("d", $t), date("Y", $t)));
							 | 
						|
								                $endTime = date('Y-m-d H:i:s',mktime(0, 0, 0, date('m'), date('d') + 1, date('Y')) - 1);
							 | 
						|
								                break;
							 | 
						|
								            case 'yesterday':
							 | 
						|
								                $beginTime = date('Y-m-d H:i:s',mktime(0, 0, 0, date('m'), date('d') - 1, date('Y')));
							 | 
						|
								                $endTime = date('Y-m-d H:i:s',mktime(0, 0, 0, date('m'), date('d'), date('Y')) - 1);
							 | 
						|
								                break;
							 | 
						|
								            case '7day':
							 | 
						|
								                $beginTime = date('Y-m-d H:i:s',mktime(0, 0, 0, date('m'), date('d') - 7, date('Y')));
							 | 
						|
								                $endTime = date('Y-m-d H:i:s',mktime(0, 0, 0, date('m'), date('d') + 1, date('Y')) - 1);
							 | 
						|
								                break;
							 | 
						|
								            case 'week':
							 | 
						|
								                $timestamp = mktime(0, 0, 0, date('m'), date('d') - date('w') + 1, date('Y'));
							 | 
						|
								                $beginTime = date('Y-m-d H:i:s', $timestamp);
							 | 
						|
								
							 | 
						|
								                //本周结束日期
							 | 
						|
								                $timestamp = mktime(23, 59, 59, date('m'), date('d') - date('w') + 7, date('Y'));
							 | 
						|
								                $endTime= date('Y-m-d H:i:s',$timestamp);
							 | 
						|
								                break;
							 | 
						|
								            case 'last_week':
							 | 
						|
								                $beginTime = date('Y-m-d H:i:s',mktime(0, 0, 0, date("m"), date("d") - date("w") + 1 - 7, date("Y")));
							 | 
						|
								                $endTime = date('Y-m-d H:i:s',mktime(23, 59, 59, date("m"), date("d") - date("w") + 7 - 7, date("Y")));
							 | 
						|
								                break;
							 | 
						|
								            case 'month':
							 | 
						|
								                $beginTime = date('Y-m-d H:i:s',mktime(0, 0, 0, date('m'), 1, date('Y')));
							 | 
						|
								                $endTime = date('Y-m-d H:i:s',mktime(23, 59, 59, date('m'), date('t'), date('Y')));
							 | 
						|
								                break;
							 | 
						|
								            case 'last_month':
							 | 
						|
								                $beginTime = date('Y-m-d H:i:s',mktime(0, 0, 0, date('m') - 1, 1, date('Y')));
							 | 
						|
								                $endTime = date('Y-m-d H:i:s',strtotime(date("Y-m-d H:i:s", mktime(23, 59, 59, date("m"), 0, date("Y")))));
							 | 
						|
								                break;
							 | 
						|
								            default:
							 | 
						|
								                $searchTime = request()->input('created_at');
							 | 
						|
								                if ($searchTime){
							 | 
						|
								                    $beginTime = date('Y-m-d H:i:s',strtotime($searchTime['start']));
							 | 
						|
								                    $endTime = date('Y-m-d H:i:s',strtotime($searchTime['end']));
							 | 
						|
								                }else{
							 | 
						|
								                    $beginTime = 0;
							 | 
						|
								                    $endTime = 999999999999;
							 | 
						|
								                }
							 | 
						|
								                break;
							 | 
						|
								        }
							 | 
						|
								        return [$beginTime,$endTime];
							 | 
						|
								    }
							 | 
						|
								}
							 |