在先前的文章中我們介紹了利用PHP函數檢查給定值是不是有限值、無限值或非數值的方法,感興趣的可以點擊連結進行查閱→《PHP函數運用之檢查一個值是不是有限值、無限值或非數值》。這次我們繼續PHP函數的學習,介紹一下計算兩個日期相差幾天的方法,有需要的可以學習了解一下~
本文的重點內容則是教大家如何計算兩個日期之間的間隔天數。這裡要跟大家介紹兩種方法,大家可以自己先在本地做一做,看看實現的方法是否跟我一樣呢?
首先來看第一種方法:利用strtotime()函數
實作方法:
將兩個日期使用strtotime()函數轉換為時間戳記;
然後將兩個時間戳相減,得到時間差,但此時還是以秒為單位計數的,不利於閱讀。
接著將時間除以86400(24*60*60=86400),在使用floor()向下捨去為最接近的整數即可
下面直接給實作程式碼:
<?php header("content-type:text/html;charset=utf-8"); function daysDiff($date1, $date2) { $first = strtotime($date1); $second = strtotime($date2); if($first>$second){ $diff_seconds=$first-$second; }else{ $diff_seconds=$second-$first; } $time = floor(($diff_seconds)/86400); return $time; } $dt1 = '2021-8-1'; $dt2 = '2021-8-27'; echo $dt1.' 和 '. $dt2. ' 之间相差的天数是 '. daysDiff($dt1, $dt2) ."天"; ?>
輸出結果:
#有沒有覺得這個方法有點麻煩,下面我們介紹另一種更簡單的方法:利用date_diff() 函數
date_diff() 函數可以直接傳回兩個DateTime 物件間的差值。我們只需要將兩個指定的日期轉換為DateTime 對象,然後使用date_diff(datetime1,datetime2)
即可取得間隔天數。
下面直接給實作程式碼:
<?php header("content-type:text/html;charset=utf-8"); function daysDiff($date1, $date2) { $date1=date_create($date1); $date2=date_create($date2); $diff_seconds=date_diff($date1,$date2); return $diff_seconds->format("%R%a"); } $dt1 = '2020-03-15'; $dt2 = '2021-12-12'; echo $dt1.' 和 '. $dt2. ' 之间相差的天数是 '. daysDiff($dt1, $dt2) ." 天"; ?>
輸出結果:
好就說到這裡了,有其他想知道的,可以點擊這個哦。 → →php影片教學
#以上是PHP函數運用之傳回兩給定日期的天數差的詳細內容。更多資訊請關注PHP中文網其他相關文章!