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] s...@php.net 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] s...@php.net 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] der...@php.net 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