ID: 48824 Updated by: j...@php.net Reported By: brad at omnis dot com -Status: Open +Status: Bogus Bug Type: Date/time related Operating System: Linux (CentOS 5.3) PHP Version: 5.3.0 New Comment:
DateInterval uses the same parser as strtotime(). Previous Comments: ------------------------------------------------------------------------ [2009-07-07 16:56:59] brad at omnis dot com >From a brief reading of the source code, dateTime->add() doesn't *appear* use the underlying strtotime library, so I don't see why this function should be forced to have the same weakness of that function. IMO, these date functions would be far more useful if they adhere to common date manipulation ideals instead of using simple math as they are currently doing. As it stands now, the dateTime->add() function cannot be relied upon for any sort of accounting math and IMO completely defeats the purpose of specialized dateTime functions. ------------------------------------------------------------------------ [2009-07-07 09:50:48] sjoerd-php at linuxonly dot nl Thank you for your report. The issue you report is not a bug. See also bug #43999. ------------------------------------------------------------------------ [2009-07-06 22:24:39] brad at omnis dot com Description: ------------ dateTime->add(dateInterval) isn't applying proper calendar math when adding intervals. Reproduce code: --------------- $dateTest = new dateTime('2008-01-31',new dateTimeZone("GMT")); print_r($dateTest); $dateTest->add(new dateInterval('P1M')); print_r($dateTest); Expected result: ---------------- DateTime Object ( [date] => 2008-01-31 00:00:00 [timezone_type] => 3 [timezone] => UTC ) DateTime Object ( [date] => 2008-02-28 00:00:00 [timezone_type] => 3 [timezone] => UTC ) Actual result: -------------- DateTime Object ( [date] => 2008-01-31 00:00:00 [timezone_type] => 3 [timezone] => UTC ) DateTime Object ( [date] => 2008-03-02 00:00:00 [timezone_type] => 3 [timezone] => UTC ) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=48824&edit=1