Home > php教程 > php手册 > body text

PHP 日期格式化和日期计算以及获取当前周、月头尾日期

WBOY
Release: 2016-06-21 08:47:21
Original
985 people have browsed it

PHP 日期格式化和日期计算以及当获取前周、月头尾日期

PHP 日期格式化示例代码:

   /**
     * 格式化时间
     * $type:类型
     * $strDate:需要处理的时间字符串
     *
     * 年份  Y:四位年份     y:两位年份
     * 月份  m: 两位数字月份 n: 一位数字月份 M:英文月
     * 日期  d:两位数字日期 j:一位数字日期  D:英文日期
     * 时:H 、分:i 、秒:s
     **/
    public function GetFormatDate($type = 1,$strDate=''){
            $time = time();
            if(isset($strDate) && !empty($strDate)){
                $time = strtotime($strDate);
            }

            switch($type){
                case 1:
                   return date("H:i",$time);
                case 2:
                    return date("m月d日 H:i",$time);
                case 3:
                    return date("m/d H:i",$time);
                case 4:
                    return date("Y年m月d日 H:i",$time);
                case 5:
                    return date("Y/m/d H:i",$time);
                case 6:
                    return date("Y年m月d日 H:i:s",$time);
                case 7:
                    return date("Y-m-d H:i:s",$time);
                case 8:
                    return date("Y/m/d H:i:s",$time);
                default:
                    return $strDate;
            }
    }
Copy after login

日期计算示例代码:

   /**
     * 时间加减处理
     * $strDate:需要处理的时间字符串
     * $days:   加减天数
     **/
    public function ChangeDate($strDate,$days){
          $time = time();
          if(isset($strDate) && !empty($strDate)){
              $time = strtotime($strDate);
          }

         return date('Y-m-d H:i:s',strtotime("$days day",$time));
    }
Copy after login

获取当前周、月头尾日期示例代码:

   /**
     *  获取当前周、月的头尾日期
     *
     *  $dateArr['W1']:周一
     *  $dateArr['W7']:周末
     *  $dateArr['M1']:月头
     *  $dateArr['M2']:月尾
     **/
    public function GetCurrentDateInfo(){
       $dayTimes = 24*60*60;
       $dateArr = [];$temp = '';

       $weekIndex = (int)date('w');
       switch($weekIndex){
            case 0:
                $dateArr['W1'] = date('Y-m-d 00:00:00',strtotime('+1 day'));
                $dateArr['W7'] = date('Y-m-d 23:59:59',strtotime('+7 day'));
                break;
            case 1:
                $dateArr['W1'] = date('Y-m-d 00:00:00');
                $dateArr['W7'] = date('Y-m-d 23:59:59',strtotime('+6 day'));
                break;
            case 2:
                $dateArr['W1'] = date('Y-m-d 00:00:00',strtotime('-1 day'));
                $dateArr['W7'] = date('Y-m-d 23:59:59',strtotime('+5 day'));
                break;
            case 3:
                $dateArr['W1'] = date('Y-m-d 00:00:00',strtotime('-2 day'));
                $dateArr['W7'] = date('Y-m-d 23:59:59',strtotime('+4 day'));
                break;
            case 4:
                $dateArr['W1'] = date('Y-m-d 00:00:00',strtotime('-3 day'));
                $dateArr['W7'] = date('Y-m-d 23:59:59',strtotime('+3 day'));
                break;
            case 5:
                $dateArr['W1'] = date('Y-m-d 00:00:00',strtotime('-4 day'));
                $dateArr['W7'] = date('Y-m-d 23:59:59',strtotime('+2 day'));
                break;
            case 6:
                $dateArr['W1'] = date('Y-m-d 00:00:00',strtotime('-5 day'));
                $dateArr['W7'] = date('Y-m-d 23:59:59',strtotime('+1 day'));
                break;
        }


       //1-12:一月 至 十二月
       $monthIndex = (int)date('m');
       switch($monthIndex){
           case 1:
               $temp = date('Y-02-01 00:00:00');
               $dateArr['M1'] = date('Y-m-01 00:00:00');
               $dateArr['M2'] = date('Y-m-d 23:59:59',strtotime($temp)-$dayTimes);
               break;
           case 2:
               $temp = date('Y-03-01 00:00:00');
               $dateArr['M1'] = date('Y-m-01 00:00:00');
               $dateArr['M2'] = date('Y-m-d 23:59:59',strtotime($temp)-$dayTimes);
               break;
           case 3:
               $temp = date('Y-04-01 00:00:00');
               $dateArr['M1'] = date('Y-m-01 00:00:00');
               $dateArr['M2'] = date('Y-m-d 23:59:59',strtotime($temp)-$dayTimes);
               break;
           case 4:
               $temp = date('Y-05-01 00:00:00');
               $dateArr['M1'] = date('Y-m-01 00:00:00');
               $dateArr['M2'] = date('Y-m-d 23:59:59',strtotime($temp)-$dayTimes);
               break;
           case 5:
               $temp = date('Y-06-01 00:00:00');
               $dateArr['M1'] = date('Y-m-01 00:00:00');
               $dateArr['M2'] = date('Y-m-d 23:59:59',strtotime($temp)-$dayTimes);
               break;
           case 6:
               $temp = date('Y-07-01 00:00:00');
               $dateArr['M1'] = date('Y-m-01 00:00:00');
               $dateArr['M2'] = date('Y-m-d 23:59:59',strtotime($temp)-$dayTimes);
               break;
           case 7:
               $temp = date('Y-08-01 00:00:00');
               $dateArr['M1'] = date('Y-m-01 00:00:00');
               $dateArr['M2'] = date('Y-m-d 23:59:59',strtotime($temp)-$dayTimes);
               break;
           case 8:
               $temp = date('Y-09-01 00:00:00');
               $dateArr['M1'] = date('Y-m-01 00:00:00');
               $dateArr['M2'] = date('Y-m-d 23:59:59',strtotime($temp)-$dayTimes);
               break;
           case 9:
               $temp = date('Y-10-01 00:00:00');
               $dateArr['M1'] = date('Y-m-01 00:00:00');
               $dateArr['M2'] = date('Y-m-d 23:59:59',strtotime($temp)-$dayTimes);
               break;
           case 10:
               $temp = date('Y-11-01 00:00:00');
               $dateArr['M1'] = date('Y-m-01 00:00:00');
               $dateArr['M2'] = date('Y-m-d 23:59:59',strtotime($temp)-$dayTimes);
               break;
           case 11:
               $temp = date('Y-12-01 00:00:00');
               $dateArr['M1'] = date('Y-m-01 00:00:00');
               $dateArr['M2'] = date('Y-m-d 23:59:59',strtotime($temp)-$dayTimes);
               break;
           case 12:
               $temp = date((date('Y')+1)."-01-01 00:00:00");
               $dateArr['M1'] = date('Y-m-01 00:00:00');
               $dateArr['M2'] = date('Y-m-d 23:59:59',strtotime($temp)-$dayTimes);
               break;
       }


       return $dateArr;
    }
Copy after login

以上代码仅供参考,疏漏之处还请指出以便改进!




Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template