PHP中怎么計算兩個日期相差的天數,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
實例一:
/**
* 求兩個日期之間相差的天數
* (針對1970年1月1日之后,求之前可以采用泰勒公式)
* @param string $date1
* @param string $date2
* @return number
*/function diff_date($date1, $date2){if($date1>$date2){$startTime = strtotime($date1);$endTime = strtotime($date2);
}else{$startTime = strtotime($date2);$endTime = strtotime($date1);
}$diff = $startTime-$endTime;$day = $diff/86400;return intval($day);
}測試結果:
$date1 = '2017-03-15 00:00:00';$date2 = '2017-03-16 00:00:00'; echo diff_date($date1,$date2);//輸出:1 $date1 = '2017-03-15 00:00:01';$date2 = '2017-03-16 00:00:00'; echo diff_date($date1,$date2);//輸出:0 $date1 = '2017-03-15 00:00:01';$date2 = '2017-03-16 00:00:02'; echo diff_date($date1,$date2);//輸出:0
此方法為24小時制,也就是說時間必須滿24小時才算一天
此方法和上面的類似,只不過是傳入的參數直接是時間戳
/**
* 求兩個日期之間相差的天數
* (針對1970年1月1日之后,求之前可以采用泰勒公式)
* @param string $time1
* @param string $time2
* @return number
*/
function diff_time($time1,$time2){if($time1 < $time2){$time0 = $time1;$time1 = $time2;$time2 = $time0;
}$diff = ($time1-$time2)/86400;return intval($diff);
}PHP中計算兩個時間相差的天數、小時數、分鐘數、秒數不如其它語言方便,但搞清了PHP中時間的表示方法后也很簡單。本文章向大家講解php如何計算時間相差。需要的碼農可以參考一下。
$date1 = '2017-03-15 00:00:01'; $date2 = '2017-03-15 00:00:00'; $date=floor((strtotime($date1)-strtotime($date2))/86400); echo "相差天數:".$date."天<br/><br/>"; $hour=floor((strtotime($date1)-strtotime($date2))%86400/3600); echo "相差小時數:".$hour."小時<br/><br/>"; $minute=floor((strtotime($date1)-strtotime($date2))%86400/60); echo "相差分鐘數:".$minute."分鐘<br/><br/>"; $second=floor((strtotime($date1)-strtotime($date2))%86400%60); echo "相差秒數:".$second."秒"; //輸出://相差天數:0天//相差小時數:0小時//相差分鐘數:0分鐘//相差秒數:1秒
看完上述內容,你們掌握PHP中怎么計算兩個日期相差的天數的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。