Bug #80974 [Csd]: Wrong diff between 2 dates in different timezones

From: Date: Tue, 17 Aug 2021 13:40:17 +0000
Subject: Bug #80974 [Csd]: Wrong diff between 2 dates in different timezones
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-235912@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=80974&edit=1 ID: 80974 User updated by: kylekatarnls at gmail dot com Reported by: kylekatarnls at gmail dot com Summary: Wrong diff between 2 dates in different timezones Status: Closed Type: Bug Package: Date/time related Operating System: Ubuntu PHP Version: master-Git-2021-04-21 (Git) Assigned To: derick Block user comment: N Private report: N New Comment: Is this bug tracked somewhere and planned to be fixed before stable release? It's not there in PHP <= 8.0 and I didn't noticed it neither before 8.1.0beta3. Previous Comments: ------------------------------------------------------------------------ [2021-08-17 13:14:25] derick@php.net Kyle, your new "bug" is unrelated to the one that was reported here. The "days" property is not the same as formatting the "d" (representing days in a year/month/days kind of way), which with your test case are correct: ------------------------------------------------------------------------ [2021-08-16 19:37:32] kylekatarnls at gmail dot com Hello, sorry derick but here the fix caused an other regression: Try the following code: ----------------------- <?php $d1 = new DateTimeImmutable('2014-07-08 15:20', new DateTimeZone('America/Toronto')); $d2 = $d1->modify('1 day'); var_dump($d1->setTimezone(new DateTimeZone('UTC'))->diff($d2)->days); var_dump($d1->diff($d2)->days); ----------------------- days is 1 for both in PHP < 8.1 => correct since $d2 is $d1 + 1 day and there is no DST there, so I expect to always get 1 with any timezone. days is 0 since 8.1.0beta3 => very likely a bug. Did you check my PR? https://github.com/derickr/timelib/pull/110/files ------------------------------------------------------------------------ [2021-08-08 12:42:57] derick@php.net The fix for this bug has been committed. If you are still experiencing this bug, try to check out latest source from https://github.com/php/php-src and re-test. Thank you for the report, and for helping us make PHP better. For 8.1.0beta3 ------------------------------------------------------------------------ [2021-04-26 08:22:08] corey dot taylor dot fl at gmail dot com I assume this is related since it was closed with the large patch from derick. https://bugs.php.net/bug.php?id=79452 ------------------------------------------------------------------------ [2021-04-22 09:50:36] cmb@php.net The following pull request has been associated: Patch Name: Fix #80974: Wrong diff between 2 dates in different timezones On GitHub: https://github.com/php/php-src/pull/6896 Patch: https://github.com/php/php-src/pull/6896.patch ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=80974 -- Edit this bug report at https://bugs.php.net/bug.php?id=80974&edit=1

« previous php.bugs (#235912) next »