PHP中計算兩個時間相差的天數、小時數、分鐘數、秒數不如其它語言方便,但搞清了PHP中時間的表示方法后也很簡單。本文章向大家講解php如何計算時間相差。需要的碼農可以參考一下。
先看下面這個網上給的例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
//$startdate是開始時間,$enddate是結束時間 <?php $startdate = "2011-3-15 11:50:00" ; $enddate = "2012-12-12 12:12:12" ; $date = floor (( strtotime ( $enddate )- strtotime ( $startdate ))/86400); echo "相差天數:" . $date . "天<br/><br/>" ; $hour = floor (( strtotime ( $enddate )- strtotime ( $startdate ))%86400/3600); echo "相差小時數:" . $hour . "小時<br/><br/>" ; $minute = floor (( strtotime ( $enddate )- strtotime ( $startdate ))%86400/60); echo "相差分鐘數:" . $minute . "分鐘<br/><br/>" ; $second = floor (( strtotime ( $enddate )- strtotime ( $startdate ))%86400%60); echo "相差秒數:" . $second . "秒" ; ?> |
不管是自己使用字符串來構造的時間類型(使用strtotime轉換而來的)也好,還是直接使用系統的time函數得到的時間類型也好,最終其實都是長整形的一個變量。兩個這樣的變量,就很明顯可以做減法了。
做減法得到值是相差的秒數,這個秒數對86400(一天的秒數)取余,則得到相差數。如果對86400取模,還對3600秒、60秒取余,則得到相關的小時和分鐘數。如果對86400取模,再對60取模,則得到相差的秒數。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!