php计算两个日期相差 年 月 日

  在PHP程序中,很多时候都会遇到处理时间的问题,比如:判断用户在线了多长时间,共登录了多少天,两个帖子发布的时间差或者是不同操作之间的日志记录等等。在文章中,简单地举例介绍了PHP中如何计算两个日期相差 年、月、日。

转自: http://www.php1.cn/Content/php_JiSuanLiangGeRiQiXiangChaNianYueRi.html

/**
   +----------------------------------------------------------
  * 功能:计算两个日期相差 年 月 日
   +----------------------------------------------------------
  * @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 );
}

转载于:https://www.cnblogs.com/c-961900940/p/5213832.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值