Bug #80974 [Csd]: Wrong diff between 2 dates in different timezones
| From: | kylekatarnls at gmail dot com | 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