php計算兩個日期相差 年 月 日

  在PHP程序中,不少時候都會遇處處理時間的問題,好比:判斷用戶在線了多長時間,共登陸了多少天,兩個帖子發佈的時間差或者是不一樣操做之間的日誌記錄等等。在文章中,簡單地舉例介紹了PHP中如何計算兩個日期相差 年、月、日。php

轉自: http://www.php1.cn/Content/php_JiSuanLiangGeRiQiXiangChaNianYueRi.htmlhtml

/**
   +----------------------------------------------------------
  * 功能:計算兩個日期相差 年 月 日
   +----------------------------------------------------------
  * @param  date     $date1 起始日期
  * @param  date     $date2 截止日期日期
   +----------------------------------------------------------
  * @return array             
   +----------------------------------------------------------
  */
function DiffDate( $date1 , $date2 ) {
     if ( strtotime ( $date1 ) > strtotime ( $date2 )) {
         $ymd = $date2 ;
         $date2 = $date1 ;
         $date1 = $ymd ;
     }
     list( $y1 , $m1 , $d1 ) = explode ( '-' , $date1 );
     list( $y2 , $m2 , $d2 ) = explode ( '-' , $date2 );
     $y = $m = $d = $_m = 0;
     $math = ( $y2 - $y1 ) * 12 + $m2 - $m1 ;
     $y = round ( $math / 12);
     $m = intval ( $math % 12);
     $d = ( mktime (0, 0, 0, $m2 , $d2 , $y2 ) - mktime (0, 0, 0, $m2 , $d1 , $y2 )) / 86400;
     if ( $d < 0) {
         $m -= 1;
         $d += date ( 'j' , mktime (0, 0, 0, $m2 , 0, $y2 ));
     }
     $m < 0 && $y -= 1;
     return array ( $y , $m , $d );
}
相關文章
相關標籤/搜索