Edit report at https://bugs.php.net/bug.php?id=64489&edit=1
ID: 64489 Updated by: ahar...@php.net Reported by: phpbug at samic dot us Summary: wrong caclulation with date_diff -Status: Open +Status: Feedback Type: Bug Package: Date/time related Operating System: Linux Ubuntu PHP Version: 5.4Git-2013-03-22 (snap) Block user comment: N Private report: N New Comment: Which time zone is your PHP installation using â ie what do you get if you echo date_default_timezone_get()? Previous Comments: ------------------------------------------------------------------------ [2013-03-22 12:00:26] phpbug at samic dot us Description: ------------ date_diff has a problem with a specific date it doesn't calculate days between two dates correctly please see the example ( it seems there is a similar problems: http://www.php.net/manual/en/datetime.diff.php#101990 ) Test script: --------------- $interval = date_diff(date_create('2000-03-21'), date_create('2013-03-21')); echo $interval->format('%a') . "<br>\n"; // will output 4747 $interval = date_diff(date_create('2000-03-21'), date_create('2013-03-22')); echo $interval->format('%a') . "<br>\n"; // will output 4749 --- WRONG! $interval = date_diff(date_create('2000-03-21'), date_create('2013-03-23')); echo $interval->format('%a') . "<br>\n"; // will output 4749 $interval = date_diff(date_create('2000-03-21'), date_create('2013-03-24')); echo $interval->format('%a') . "<br>\n"; // will output 4750 Expected result: ---------------- 4747 4748 4749 4750 Actual result: -------------- 4747 4749 4749 4750 the second calculation is wrong ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=64489&edit=1