ホームページ  >  記事  >  php教程  >  PHP の日付フォーマットと日付計算、および現在の週、月の最初と最後の日付の取得

PHP の日付フォーマットと日付計算、および現在の週、月の最初と最後の日付の取得

WBOY
WBOYオリジナル
2016-06-21 08:47:21979ブラウズ

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;
            }
    }

日付計算サンプルコード:

   /**
     * 时间加减处理
     * $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));
    }

現在の週と月の最初と最後の日付を取得するサンプルコード:

   /**
     *  获取当前周、月的头尾日期
     *
     *  $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;
    }

上記のコードは参考用です。改善のため漏れがあればご指摘ください。




声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。