方法一:使用date_diff()函數來時間差
date_diff()函數可以返回兩個 DateTime 對象間的差值
?php header( content-type:text/html;charset=utf-8 // 創建日期時間對象$date1 = date_create( 2017-06-08 $date2 = date_create( 2018-09-19 $interval = date_diff($date1, $date2); echo $interval- format( %R%a 天 ?
輸出:
方法二:使用數學公式來計算時間差,然后返回它們之間的總天數。
?php header( content-type:text/html;charset=utf-8 // 指定兩個日期,轉換為 Unix 時間戳$date1 = strtotime( 2017-1-12 22:45:00 $date2 = strtotime( 2018-1-12 10:44:01 //計算兩個日期之間的時間差$diff= $date1 - $date2 ;$days =abs(round($diff / 86400));echo 相差: .$days. 天 ?
輸出:
說明:
使用strtotime()函數把兩個指定的時間解析為 Unix 時間戳,再相減得到差額,然后除以總秒數86400(24 * 60 * 60=86400)得到天數,最后輸出天數。如果想要把小時、分鐘、秒也輸出,那要怎么辦?
下面我們在方法二的基礎上,以以年,月,日,小時,分鐘,秒的格式返回時間差。
方法三:使用數學公式來計算時間差,然后以年,月,日,小時,分鐘,秒的格式返回它們之間的時間差。
?php header( content-type:text/html;charset=utf-8 // 指定兩個日期,轉換為 Unix 時間戳$date1 = strtotime( 2016-06-01 22:45:00 $date2 = strtotime( 2018-09-21 10:44:01 //計算兩個日期之間的時間差$diff = abs($date2 - $date1); //轉換時間差的格式$years = floor($diff / (365*60*60*24)); $months = floor(($diff - $years * 365*60*60*24) / (30*60*60*24));$days = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24)/ (60*60*24)); $hours = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24 - $days*60*60*24) / (60*60));$minutes = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24 - $days*60*60*24 - $hours*60*60)/ 60); $seconds = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24 - $days*60*60*24 - $hours*60*60 - $minutes*60)); printf( 相差:%d 年, %d 月, %d 日, %d 小時, %d 分, %d 秒 , $years, $months, $days, $hours, $minutes, $seconds); ?
輸出:
以上就是本篇文章的全部內容,希望能對大家的學習有所幫助。更多精彩內容大家可以關注php 相關教程欄目?。?!
以上就是PHP如何計算兩個日期之間的時間差?(代碼示例)的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答