Advertisement
Guest User

Untitled

a guest
Oct 24th, 2016
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.80 KB | None | 0 0
  1. /**
  2.      * Разница между датами
  3.      * @param $date_start
  4.      * @param $date_end
  5.      * @param string $type
  6.      * @param string $round
  7.      * @return int
  8.      */
  9.     public static function DiffDate($date_start, $date_end, $type = "s", $round = "floor"){
  10.         $result = 0;
  11.         if(substr_count($date_start, ".") > 0){
  12.             $datetime1 = strtotime($date_start);
  13.             $datetime2 = strtotime($date_end);
  14.         }
  15.         else{
  16.             $datetime1 = $date_start;
  17.             $datetime2 = $date_end;
  18.         }
  19.         $diff = $datetime2-$datetime1;
  20.  
  21.         if($round == "floor") $nameFN = "floor"; else $nameFN = $round;
  22.  
  23.         if($type == "d"){
  24.             $result = $nameFN($diff/(60*60*24));
  25.         }
  26.         else if($type == "s"){
  27.             $result = $nameFN($diff);
  28.         }
  29.         else if($type == "m"){
  30.             if($round == "floor"){
  31.                 $result = $nameFN($diff/(30*60*60*24));
  32.             }
  33.             else if($round == "ceil"){
  34.                 $datetime1 = date("m", $datetime1);
  35.                 if(substr($datetime1, 0, 1) == "0"){
  36.                     $datetime1 = IntVal(str_replace("0", "", $datetime1));
  37.                 }
  38.                 else{
  39.                     $datetime1 = IntVal($datetime1);
  40.                 }
  41.  
  42.                 $datetime2 = date("m", $datetime2);
  43.                 if(substr($datetime2, 0, 1) == "0"){
  44.                     $datetime2 = IntVal(str_replace("0", "", $datetime2));
  45.                 }
  46.                 else{
  47.                     $datetime2 = IntVal($datetime2);
  48.                 }
  49.  
  50.                 $result =$datetime2-$datetime1+1;
  51.             }
  52.         }
  53.         else if($type == "y"){
  54.             $result = $nameFN($diff/(12*30*60*60*24));
  55.         }
  56.  
  57.         return $result;
  58.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement