1. 程式人生 > >PHP計算時間差簡潔寫法

PHP計算時間差簡潔寫法

//$time為時間差的值 //例如: $times=1525111200; $now=time(); $time=$noe-$times; //$time=43771;

formatTime($time);

function formatTime($time){    //用時間差除以年          $year   = floor($time / 60 / 60 / 24 / 365);    //更新時間戳,把餘數去掉    $time  -= $year * 60 * 60 * 24 * 365;    //用時間差除以月       $month  = floor($time / 60 / 60 / 24 / 30);    $time  -= $month * 60 * 60 * 24 * 30;    //用時間差除以周    $week   = floor($time / 60 / 60 / 24 / 7);    $time  -= $week * 60 * 60 * 24 * 7;    //用時間差除以天    $day    = floor($time / 60 / 60 / 24);    $time  -= $day * 60 * 60 * 24;    //用時間差除以小時     $hour   = floor($time / 60 / 60);    $time  -= $hour * 60 * 60;    //用時間差除以秒    $minute = floor($time / 60);    $time  -= $minute * 60;    $second = $time;    $elapse = '';    //建立年,月,周,天,小S。分,秒,對應的上分變數名稱,下標對應的是年,月,周    $unitArr = array('年'  =>'year', '個月'=>'month',  '周'=>'week', '天'=>'day',                     '小時'=>'hour', '分鐘'=>'minute', '秒'=>'second'                     );    //遍歷建立好的陣列,    foreach ( $unitArr as $cn => $u )    {            // 使用魔法變數,來獲取當前時間屬於哪個時間段的時間差        //  例如:   $$u="year";         //  相當於  $u=$year;$year=1;        //  所以$u=1;        //  如果計算出來的結果大於0,說明是屬於當前時間段的        if ( $$u > 0 )        {        //$elapse=1年;            $elapse = $$u . $cn;            //跳出迴圈。            break;        }    }    返回資料    return $elapse; }