From: Operating system: Debian / Linux PHP version: 5.3.10 Package: Date/time related Bug Type: Bug Bug description:DateTimeInterval subtracting wrong on summertime Threshold
Description: ------------ If you're using a timezone, like Europe/Paris, with summer and winter times, you will obtain a wrong result when adding and subtracting a time interval on a date at summertime threshold. I fixed that issue by making all operations on GMT timezone. Test script: --------------- date_default_timezone_set('Europe/Paris'); /* Get a time just on the threshold */ $d = new DateTime("2012-03-25 03:00:00"); echo $d->format(DateTime::RFC2822) . "\n"; /* Substract one hour */ $i = new DateInterval("PT1H"); $d->sub($i); echo $d->format(DateTime::RFC2822) . "\n"; Expected result: ---------------- Sun, 25 Mar 2012 03:00:00 +0200 Sun, 25 Mar 2012 01:00:00 +0100 Actual result: -------------- Sun, 25 Mar 2012 03:00:00 +0200 Sun, 25 Mar 2012 03:00:00 +0200 -- Edit bug report at https://bugs.php.net/bug.php?id=61530&edit=1 -- Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=61530&r=trysnapshot54 Try a snapshot (PHP 5.3): https://bugs.php.net/fix.php?id=61530&r=trysnapshot53 Try a snapshot (trunk): https://bugs.php.net/fix.php?id=61530&r=trysnapshottrunk Fixed in SVN: https://bugs.php.net/fix.php?id=61530&r=fixed Fixed in SVN and need be documented: https://bugs.php.net/fix.php?id=61530&r=needdocs Fixed in release: https://bugs.php.net/fix.php?id=61530&r=alreadyfixed Need backtrace: https://bugs.php.net/fix.php?id=61530&r=needtrace Need Reproduce Script: https://bugs.php.net/fix.php?id=61530&r=needscript Try newer version: https://bugs.php.net/fix.php?id=61530&r=oldversion Not developer issue: https://bugs.php.net/fix.php?id=61530&r=support Expected behavior: https://bugs.php.net/fix.php?id=61530&r=notwrong Not enough info: https://bugs.php.net/fix.php?id=61530&r=notenoughinfo Submitted twice: https://bugs.php.net/fix.php?id=61530&r=submittedtwice register_globals: https://bugs.php.net/fix.php?id=61530&r=globals PHP 4 support discontinued: https://bugs.php.net/fix.php?id=61530&r=php4 Daylight Savings: https://bugs.php.net/fix.php?id=61530&r=dst IIS Stability: https://bugs.php.net/fix.php?id=61530&r=isapi Install GNU Sed: https://bugs.php.net/fix.php?id=61530&r=gnused Floating point limitations: https://bugs.php.net/fix.php?id=61530&r=float No Zend Extensions: https://bugs.php.net/fix.php?id=61530&r=nozend MySQL Configuration Error: https://bugs.php.net/fix.php?id=61530&r=mysqlcfg