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; }