当前位置:首页 > PHP教程 > php日期 > 列表

PHP计算两个时间的差(秒 分 时 天 月 年)

发布:smiling 来源: PHP粉丝网  添加日期:2015-04-09 14:58:51 浏览: 评论:0 

我们工作中用到最多的就是查询或统计出两个时间差了,下面我就整理了了PHP计算两个时间的差几个例子,其实就可以统计秒 分 时 天 月 年,下面来看看例子.

两个时间之间月份差实例代码:

  1. $yourdate="2012-10-20"
  2. $yourdate_unix=strtotime($yourdate); 
  3. echo (date("Y",$yourdate_unix)-date("Y"))*12+(date("m",$yourdate_unix)-date("m")); 

例子1,代码如下:

  1. /* 
  2.     * 计算2个时间段的月份差 
  3.  * @param $st开始时间 $et结束时间(时间戳格式) 
  4.  * @return $total 返回的差值  
  5.    */ 
  6.    function getMonthNum($st$et
  7.    { 
  8.     $s_m = date('n'$st); 
  9.     $e_m = date('n'$et); 
  10.     $s_y = date('Y'$st); 
  11.     $e_y = date('Y'$et); 
  12.     $total = 13 - $s_m + ($e_y - $s_y - 1) * 12 + $e_m//计算月份差 
  13.     return $total
  14.    } 

例子2,代码如下:

  1. <?php 
  2. $one = strtotime('2011-05-08 07:02:40');//开始时间 时间戳 
  3. $tow = strtotime('2012-12-25 00:00:00');//结束时间 时间戳 
  4. $cle = $tow - $one//得出时间戳差值 
  5. /* 这个只是提示 
  6. echo ceil($cle/60); //得出一共多少分钟 
  7. echo ceil($cle/3600); //得出一共多少小时 
  8. echo ceil($cle/3600/24); //得出一共多少天 
  9. */ 
  10. /*ceil()函数,即进一法取整*/ 
  11. $d = cell($cle/3600/24);  //开源软件:phpfensi.com 
  12. $h = cell(($cle%(3600*24))/3600);  //%取余 
  13. $m = cell(($cle%(3600*24))/60); 
  14. echo "两个时间相差 $d 天 $h 小时 $m 分" 
  15. ?> 

例子3,代码如下:

  1. <?PHP 
  2. /* 
  3. * 
  4. *函数功能:计算两个以YYYY-MM-DD为格式的日期,相差几天 
  5. * 
  6. */ 
  7. function getChaBetweenTwoDate($date1,$date2){ 
  8.     $Date_List_a1=explode("-",$date1); 
  9.     $Date_List_a2=explode("-",$date2); 
  10.     $d1=mktime(0,0,0,$Date_List_a1[1],$Date_List_a1[2],$Date_List_a1[0]); 
  11.     $d2=mktime(0,0,0,$Date_List_a2[1],$Date_List_a2[2],$Date_List_a2[0]); 
  12.     $Days=round(($d1-$d2)/3600/24); 
  13.     return $Days
  14. echo getChaBetweenTwoDate('2010-08-11','2010-08-16'); 
  15. echo "<br>"
  16. echo getChaBetweenTwoDate('2010-08-16','2010-08-11'); 
  17. ?> 

例子4,代码如下:

  1. <?php 
  2. $startdate=”2010-12-11 11:40:00″; 
  3. $enddate=”2012-12-12 11:45:09″; 
  4. $date=floor((strtotime($enddate)-strtotime($startdate))/86400); 
  5. $hour=floor((strtotime($enddate)-strtotime($startdate))%86400/3600); 
  6. $minute=floor((strtotime($enddate)-strtotime($startdate))%86400/60); 
  7. $second=floor((strtotime($enddate)-strtotime($startdate))%86400%60); 
  8. echo $date.”天<br>”; 
  9. echo $hour.”小时<br>”; 
  10. echo $minute.”分钟<br>”; 
  11. echo $second.”秒<br>”; 
  12. ?> 

例子四是我最喜欢的一个可以计算到天小时秒哦,当然具体的还是需要根据自己的需要了.

Tags: PHP计算时间 PHP两个时间差

分享到: