我們工作中用到最多的就是查詢或統計出兩個時間差了,下面我就整理了了PHP計算兩個時間的差幾個例子,其實就可以統計秒 分 時 天 月 年,下面來看看例子.
兩個時間之間月份差實例代碼:
- $yourdate="2012-10-20";
- $yourdate_unix=strtotime($yourdate);
- echo (date("Y",$yourdate_unix)-date("Y"))*12+(date("m",$yourdate_unix)-date("m"));
例子1,代碼如下:
- /*
- * 計算2個時間段的月份差
- * @param $st開始時間 $et結束時間(時間戳格式)
- * @return $total 返回的差值
- */
- function getMonthNum($st, $et)
- {
- $s_m = date('n', $st);
- $e_m = date('n', $et);
- $s_y = date('Y', $st);
- $e_y = date('Y', $et);
- $total = 13 - $s_m + ($e_y - $s_y - 1) * 12 + $e_m; //計算月份差
- return $total;
- }
例子2,代碼如下:
- <?php
- $one = strtotime('2011-05-08 07:02:40');//開始時間 時間戳
- $tow = strtotime('2012-12-25 00:00:00');//結束時間 時間戳
- $cle = $tow - $one; //得出時間戳差值
- /* 這個只是提示
- echo ceil($cle/60); //得出一共多少分鐘
- echo ceil($cle/3600); //得出一共多少小時
- echo ceil($cle/3600/24); //得出一共多少天
- */
- /*ceil()函數,即進一法取整*/
- $d = cell($cle/3600/24); //開源軟件:Vevb.com
- $h = cell(($cle%(3600*24))/3600); //%取余
- $m = cell(($cle%(3600*24))/60);
- echo "兩個時間相差 $d 天 $h 小時 $m 分"
- ?>
例子3,代碼如下:
- <?PHP
- /*
- *
- *函數功能:計算兩個以YYYY-MM-DD為格式的日期,相差幾天
- *
- */
- function getChaBetweenTwoDate($date1,$date2){
- $Date_List_a1=explode("-",$date1);
- $Date_List_a2=explode("-",$date2);
- $d1=mktime(0,0,0,$Date_List_a1[1],$Date_List_a1[2],$Date_List_a1[0]);
- $d2=mktime(0,0,0,$Date_List_a2[1],$Date_List_a2[2],$Date_List_a2[0]);
- $Days=round(($d1-$d2)/3600/24);
- return $Days;
- }
- echo getChaBetweenTwoDate('2010-08-11','2010-08-16');
- echo "<br>";
- echo getChaBetweenTwoDate('2010-08-16','2010-08-11');
- ?>
例子4,代碼如下:
- <?php
- $startdate=”2010-12-11 11:40:00″;
- $enddate=”2012-12-12 11:45:09″;
- $date=floor((strtotime($enddate)-strtotime($startdate))/86400);
- $hour=floor((strtotime($enddate)-strtotime($startdate))%86400/3600);
- $minute=floor((strtotime($enddate)-strtotime($startdate))%86400/60);
- $second=floor((strtotime($enddate)-strtotime($startdate))%86400%60);
- echo $date.”天<br>”;
- echo $hour.”小時<br>”;
- echo $minute.”分鐘<br>”;
- echo $second.”秒<br>”;
- ?>
例子四是我最喜歡的一個可以計算到天小時秒哦,當然具體的還是需要根據自己的需要了.
新聞熱點
疑難解答