程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP計算兩個時間的差(秒 分 時 天 月 年)

PHP計算兩個時間的差(秒 分 時 天 月 年)

編輯:關於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);
    $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>”;
    ?>

      例子四是我最喜歡的一個可以計算到天小時秒哦,當然具體的還是需要根據自己的需要了。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved