[php] 計算兩個時間經過的天數

如果想要計算兩個時間相隔有多久,比如要知道在某年某月某個人幾歲,或是計算離某一個事件有幾天,在 php 有一個方便的方法就是使用 diff 或 date_diff 這一類的 function。

  1. $start  = date_create('1988-08-10');   
  2. $end    = date_create(); // 目前日期   
  3. $diff   = date_diff( $start$end );   
  4.   
  5. echo '經過時間為 ';   
  6. echo  $diff->y . ' 年, ';   
  7. echo  $diff->m . ' 月, ';   
  8. echo  $diff->d . ' 日, ';   
  9. echo  $diff->h . ' 小時, ';   
  10. echo  $diff->i . ' 分鐘, ';   
  11. echo  $diff->s . ' 秒';   
  12.   
  13. echo 經過天數 : ' . $diff->days;  

使用 DateTime Object
  1. $start = new DateTime('1988-08-10');   
  2. $end   = new DateTime(); // 目前時間   
  3. $diff  = $start->diff($end);   
  4.   
  5. echo 'The difference is ';   
  6. echo  $diff->y . ' 年, ';   
  7. echo  $diff->m . ' 月, ';   
  8. echo  $diff->d . ' 日, ';   
  9. echo  $diff->h . ' 小時, ';   
  10. echo  $diff->i . ' 分鐘, ';   
  11. echo  $diff->s . ' 秒';   
  12.   
  13. echo '經過天數 : ' . $diff->days;  

基本上就是丟入兩個時間,再看要輸出哪些數值就好。

參考文章: How to Calculate Date and Time Difference in PHP – The Easiest Way

留言