Edit report at http://bugs.php.net/bug.php?id=46268&edit=1
ID: 46268
Comment by: shaffy at visionaspire dot com
Reported by: shimooka at doyouphp dot jp
Summary: When call DateTime#setTime, it seems to be called
the last modify method too
Status: Closed
Type: Bug
Package: Date/time related
Operating System: *
PHP Version: 5.3CVS-2008-11-11
Assigned To: derick
Block user comment: N
New Comment:
Thanks,nice post.
Previous Comments:
------------------------------------------------------------------------
[2010-02-11 11:11:49] [email protected]
Automatic comment from SVN on behalf of pajoye
Revision: http://svn.php.net/viewvc/?view=revision&revision=294880
Log: - merge fix for: #45866,#50930, revert fix for #50392, Fixed a bug
with the 'r' formatting function, added or fixed tests for #45866 and
#46268
------------------------------------------------------------------------
[2010-02-10 16:23:32] [email protected]
Automatic comment from SVN on behalf of derick
Revision: http://svn.php.net/viewvc/?view=revision&revision=294854
Log: - Added a test case for bug #45866
- Fixed tests: oo_002, bug46268
- Fixed bug #50930 (Wrong date by php_date.c patch with ancient
gcc/glibc
versions).
- Make sure faulty strings passed to DateTime::modify() notify the user.
- Revert fix for bug #50392 as it was fixed wrongly without a proper
test case.
- Fixed a bug with the 'r' formatting function as the default buffer
size that
was allocated only fit 4 digit years.
------------------------------------------------------------------------
[2008-12-18 20:32:52] [email protected]
This bug has been fixed in CVS.
Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
Thank you for the report, and for helping us make PHP better.
------------------------------------------------------------------------
[2008-10-10 04:27:11] shimooka at doyouphp dot jp
Description:
------------
When I call DateTime#setTime, it seems to be called the last modify
method too. If I use date_time_set function, I get the same result.
This report is similar to Bug #41599, but differ from #41599 in using
'time'(01:02:03).
With PHP5.2.6, I get the expected result.
Reproduce code:
---------------
<?php
date_default_timezone_set('Asia/Tokyo');
$now = new DateTime('2008-10-10 01:02:03');
echo $now->format("Y-m-d H:i:s") . PHP_EOL;
$now->modify("1 day after");
echo $now->format("Y-m-d H:i:s") . PHP_EOL;
$now->modify("1 hour after");
echo $now->format("Y-m-d H:i:s") . PHP_EOL;
$now->setTime(0, 0, 0);
//date_time_set($now, 0, 0, 0);
echo $now->format("Y-m-d H:i:s") . PHP_EOL;
Expected result:
----------------
2008-10-10 01:02:03
2008-10-11 01:02:03
2008-10-11 02:02:03
2008-10-11 00:00:00
Actual result:
--------------
2008-10-10 01:02:03
2008-10-11 01:02:03
2008-10-11 02:02:03
2008-10-11 01:00:00
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/bug.php?id=46268&edit=1