$startDate = new DateTime("2016-06-01");
$endDate = new DateTime("2016-06-30");
$diff = date_diff($startDate,$endDate);
$differenceYear = $diff->format("%y");
$differenceMonth = $diff->format("%m");
$difference = $differenceYear*12 + $differenceMonth;
echo $difference;
上面的代碼將輸出0作爲結果。但是,當我將這兩個日期更改爲2016-12-01和2016-12-31時,代碼會給出1作爲輸出。爲什麼會發生?PHP日期差誤差
當我檢查這個代碼在網上PHP編輯它給出了正確的答案。但是當我將它複製到本地機器時,答案顯示錯誤。在線編輯器有美國/太平洋地區作爲時區。我的電腦有亞洲/加爾各答時區。這兩個具有相同的PHP版本
代碼輸出'1'我。你使用哪個PHP版本? – modsfabio
@modsfabio它關於時區兄弟.. – Xatenev
親愛的六月份只有30天,你通過2016-06-31,這就是爲什麼你會得到錯誤 –