如果我們要在 PHP 裡面計算兩個時間經過了多久,可以透過先透過 new DateTime() 取得時間物件後,再透過 diff 去取得另一個經過的時間物件,像是:
$d1=new DateTime("2012-07-08 11:00:00"); $d2=new DateTime("2021-12-01 11:00:00"); $diff=$d2->diff($d1);
這時取得的 $diff 會大概是長下面這個樣子:
DateInterval Object ( [y] => 0 [m] => 0 [d] => 0 [h] => 0 [i] => 0 [s] => 0 [f] => 0 [weekday] => 0 [weekday_behavior] => 0 [first_last_day_of] => 0 [invert] => 0 [days] => 0 [special_type] => 0 [special_amount] => 0 [have_weekday_relative] => 0 [have_special_relative] => 0 )
接著要顯示經過的時間的話,可以再透過 format() 去轉換,比如說:
echo $diff->format("%y years %m monthes %d days");
這樣就可以顯示兩個時間間經過了 n 年 m 月 p 日這樣,用中文也沒有問題。