PHP編程過程中經常需要用到計算兩個時間相差的天數、小時數、分鐘數、秒數,其實非常簡單,用到的是基礎函數,以下案例詳解。
下面是361源碼從網上找來的例子:
//$startdate是開始時間,$enddate是結束時間<?php$startdate="2017-11-15 1:51:00";$enddate="2018-02-07 12:32:51";$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取模,則得到相差的秒數。
說白了就很簡單,有需要的朋友可以收藏起來,以待不時之需。
新聞熱點
疑難解答