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] [email protected]
It's a bug, it should set this value really.
------------------------------------------------------------------------
[2009-10-05 16:31:59] [email protected]
Derick, how would you solve this?
------------------------------------------------------------------------
[2009-10-05 16:29:44] [email protected]
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