Bug #80896 [Opn->Fbk]: Daylight time mishandled for America/Havana and Asia/Tehran timezones
Edit report at https://bugs.php.net/bug.php?id=80896&edit=1
ID: 80896
Updated by: requinix@php.net
Reported by: ctiancheng at fb dot com
Summary: Daylight time mishandled for America/Havana and
Asia/Tehran timezones
-Status: Open
+Status: Feedback
Type: Bug
-Package: *General Issues
+Package: Date/time related
PHP Version: 8.0Git-2021-03-22 (Git)
Block user comment: N
Private report: N
New Comment:
Looks right to me. https://3v4l.org/7sCi5
Previous Comments:
------------------------------------------------------------------------
[2021-03-22 19:01:19] ctiancheng at fb dot com
Description:
------------
---
From manual page: https://php.net/timezones.america
---
America/Havana and Asia/Tehran are two supported timezones listed from the documentation. However,
The DateTime are not handled correctly during daylight time transition.
This happens when doing $dt->add(new DateInterval('P1D'));
On e.g. 2021/03/14 for America/Havana
On e.g. 2021/03/21 for Asia/Tehran
Test script:
---------------
// http://sandbox.onlinephpfunctions.com/code/0650352a9684872c8dcfff00a64b11660a56eba8
$local_timezone_name = 'America/Havana';
$timestamp = 1615611600; // local time 3/13/21 0:00
$time = (new DateTime())->setTimestamp($timestamp)
->setTimezone(new DateTimeZone($local_timezone_name));
$time->add(new DateInterval('P1D')); // local time 03/13/21 1:00
// http://sandbox.onlinephpfunctions.com/code/623d5587f5453dd487492e5fde64cc836a84dcd9
$local_timezone_name = 'Asia/Tehran';
$timestamp = 1616272200; // local time 3/21/21 0:00
$time = (new DateTime())->setTimestamp($timestamp)
->setTimezone(new DateTimeZone($local_timezone_name));
$time->add(new DateInterval('P1D')); // local time 03/22/21 1:00
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=80896&edit=1
Thread (6 messages)