php专区

 首页 > php专区 > PHP高级 > 日期 > php 计算两个日期之间的间隔天数 - php日期

php 计算两个日期之间的间隔天数 - php日期

分享到:
【字体:
导读:
          本文章来给各位同学详细介绍关于php 计算两个日期这间的间隔天数实例,各位同学可参考,我们一般是把日期用strtotime转换,然后再进行算,这样...

php 计算两个日期之间的间隔天数

本文章来给各位同学详细介绍关于php 计算两个日期这间的间隔天数实例,各位同学可参考,我们一般是把日期用strtotime转换,然后再进行算,这样可以精确到时分秒。

例1,直接把日期转换,代码如下:

  1. function daysbetweendates($date1$date2){  
  2.     $date1 = strtotime($date1);  
  3.     $date2 = strtotime($date2);  
  4.     $days = ceil(abs($date1 - $date2)/86400);  
  5.     return $days;  

例2,代码如下:

  1. functionmaketime($date
  2. list($year,$month,$day) = explode('-',$date); 
  3. returnmktime(0,0,0,$month,$day,$year); 
  4. $date1 = '2007-01-08'
  5. $date2 = '2007-03-01'
  6. $d = (maketime($date2) - maketime($date1)) / (3600*24); 
  7. echo'相差$d 天'
  8. ?> 

例3,PHP实现两个日期间隔的年、月、周、日数的计算,代码如下:

  1.     function format($a,$b){ 
  2.         //检查两个日期大小,默认前小后大,如果前大后小则交换位置以保证前小后大 
  3.         if(strtotime($a)>strtotime($b)) list($a,$b)=array($b,$a); 
  4.         $start  = strtotime($a); 
  5.         $stop   = strtotime($b); 
  6.         $extend = ($stop-$start)/86400; 
  7.         $result['extends'] = $extend
  8.         if($extend<7){                //如果小于7天直接返回天数 
  9.             $result['daily'] = $extend
  10.         }elseif($extend<=31){        //小于28天则返回周数,由于闰年2月满足了 
  11.             if($stop==strtotime($a.'+1 month')){ 
  12.                 $result['monthly'] = 1; 
  13.             }else
  14.                 $w = floor($extend/7); 
  15.                 $d = ($stop-strtotime($a.'+'.$w.' week'))/86400; 
  16.                 $result['weekly']  = $w
  17.                 $result['daily']   = $d
  18.             } 
  19.         }else
  20.             $y=    floor($extend/365); 
  21.             if($y>=1){                //如果超过一年 
  22.                 $start = strtotime($a.'+'.$y.'year'); 
  23.                 $a     = date('Y-m-d',$start); 
  24.                 //判断是否真的已经有了一年了,如果没有的话就开减 
  25.                 if($start>$stop){ 
  26.                     $a = date('Y-m-d',strtotime($a.'-1 month')); 
  27.                     $m =11; 
  28.                     $y--;     
  29.                 } 
  30.                 $extend = ($stop-strtotime($a))/86400; 
  31.             } 
  32.             if(isset($m)){ 
  33.                 $w = floor($extend/7); 
  34.                 $d = $extend-$w*7; 
  35.             }else
  36.                 $m = isset($m)?$m:round($extend/30); 
  37.                 $stop>=strtotime($a.'+'.$m.'month')?$m:$m--; 
  38.                 if($stop>=strtotime($a.'+'.$m.'month')){ 
  39.                     $d=$w=($stop-strtotime($a.'+'.$m.'month'))/86400; 
  40.                     $w = floor($w/7); 
  41.                     $d = $d-$w*7; 
  42.                 } 
  43.             } 
  44.             $result['yearly']  = $y
  45.             $result['monthly'] = $m
  46.             $result['weekly']  = $w
  47.             $result['daily']   = isset($d)?$d:null; 
  48.         } 
  49.         return array_filter($result); 
  50.     } 
  51.  
  52.     print_r(format('2012-10-1','2012-12-15')); 
  53. ?>
分享到:
php 获取指定月第一天和最后一天 - php日...
php 获取指定月第一天和最后一天 借助于date和strtotime函数,可以轻松的获取本月,下月以及上月的第一天和最后一天,下面分别给出其实现,其中函数的参数date格式为yyyy-MM-dd。 1,给定一个日期,获取其本月的第一天和最后一天,代码如下: function getCurMonthFirstDay($date) {    ...
PHP中的日期怎么样处理
PHP作为一个后台编程语言,现在是比较流行的了,那么PHP中的日期怎么样处理呢?下面是PHP中日期处理的一些叫知识点. a - "am" 或是 "pm" A - "AM" 或是 "PM" d - 几日,二位数字,若不足二位则前面补零; 如: "01" 至 "31" D - 星期几,三个英文字母; 如: "Fri" F - 月份,英文全名; 如: "January" h ...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……