ID: 49778 Comment by: johnphayes at gmail dot com Reported By: jenwelsh at yahoo dot com Status: Assigned Bug Type: Date/time related Operating System: Solaris 10 PHP Version: 5.3.0 Assigned To: derick New Comment:
It probably should have a different bug for the Windows "6015" bug. Just noting that this is what I'm seeing as well, not the original bug description. Previous Comments: ------------------------------------------------------------------------ [2010-01-26 17:51:02] hellbringer at gmail dot com $d1 = new DateTime('2010-01-01'); $d2 = new DateTime('2010-01-26'); $diff = $d1->diff($d2); echo phpversion(); // 5.3.1 echo $_SERVER['SERVER_SOFTWARE']; // Apache/2.2.11 (Win32) PHP/5.3.1 echo $diff->format('%a'); // 6015 echo $diff->days; // 6015 print_r($diff); // DateInterval Object // ( // [y] => 0 // [m] => 0 // [d] => 25 // [h] => 0 // [i] => 0 // [s] => 0 // [invert] => 0 // [days] => 6015 // ) ------------------------------------------------------------------------ [2009-11-17 19:23:01] awinningidea at gmail dot com PHP 5.3 on windows, DateInterval::format('%a') gives 6015 for all dates. Example =============================== $d1 = new DateTime('1/1/2009'); $d2 = new DateTime('1/5/2009'); $diff = $d1->diff($d2); var_dump($diff->format('%a')); Output ------------------------------- string '6015' (length=4) ------------------------------------------------------------------------ [2009-10-05 18:49:57] der...@php.net It's a bug, it should set this value really. ------------------------------------------------------------------------ [2009-10-05 16:31:59] sjo...@php.net Derick, how would you solve this? ------------------------------------------------------------------------ [2009-10-05 16:29:44] sjo...@php.net Thank you for your bug report. Days is indeed not set when creating a DateInterval using the constructor. A complication with this is that it is impossible to determine the number of days when months or years are specified, since these vary in length. It is possible to fill in the days field in some cases and leave it 0 in others. In any case, it should be documented that the days field is not always available. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/49778 -- Edit this bug report at http://bugs.php.net/?id=49778&edit=1