我還在學習PHP並試圖改進PHP編程。所以,我測試了一個顯示兩個日期之間持續時間的簡單代碼。我用不同的開始日期和結束日期對它進行測試,直到這一次得到錯誤的持續時間。PHP - 爲什麼日期之間的差異顯示錯誤的日子?
代碼:
<?php
$d1 = new DateTime('2017-02-20'); // 20 Feb 2017
$d2 = new DateTime('2017-05-12'); // 12 May 2017
$diff = $d2->diff($d1); //excluding end date
echo $diff->y ." years ";
echo $diff->m ." months ";
echo $diff->d ." days";
?>
正確的時間應該爲0歲2個月22天。但它顯示的錯誤時間是0年2個月20天。
有人可以向我解釋爲什麼是這樣嗎?我想知道爲什麼它變成這樣。
的可能的複製[PHP日期\ _diff功能壞了?](http://stackoverflow.com/questions/42332227/php-date-diff-function-broken) –
28天在二月。 8天至3月1日+12天+ 2個月...似乎對我 – Trent
[如何計算使用PHP的兩個日期之間的差異?](http://stackoverflow.com/q/676824/1255289) – miken32