Edit report at https://bugs.php.net/bug.php?id=61530&edit=1
ID: 61530 Comment by: kavi at postpro dot net Reported by: nicolas dot douillet at gmail dot com Summary: DateTimeInterval subtracting wrong on summertime Threshold Status: Open Type: Bug Package: Date/time related Operating System: Debian / Linux PHP Version: 5.3.10 Block user comment: N Private report: N New Comment: We can verify on 5.3.3 if that's worth anything. This is a problem, please fix it. Previous Comments: ------------------------------------------------------------------------ [2012-03-27 16:31:41] nicolas dot douillet at gmail dot com 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 this bug report at https://bugs.php.net/bug.php?id=61530&edit=1