|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2015-12-08 21:33 UTC] requinix@php.net
-Status: Open
+Status: Duplicate
[2015-12-08 21:33 UTC] requinix@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Oct 25 11:00:01 2025 UTC |
Description: ------------ When changing the time zone from UTC to -09:00 the local date gets updated but after changing it back to UTC it doesn't. Both DateTime and DateTimeImmutable have the same issue. Test script: --------------- $date = new DateTime('2015-09-01+00:00'); var_dump($date); $date = $date->setTimezone(new DateTimeZone('-09:00')); var_dump($date); $date = $date->setTimezone(new DateTimeZone('+00:00')); var_dump($date); $date = new DateTimeImmutable('2015-09-01+00:00'); var_dump($date); $date = $date->setTimezone(new DateTimeZone('-09:00')); var_dump($date); $date = $date->setTimezone(new DateTimeZone('+00:00')); var_dump($date); Expected result: ---------------- object(DateTime)#1 (3) { ["date"]=> string(26) "2015-09-01 00:00:00.000000" ["timezone_type"]=> int(1) ["timezone"]=> string(6) "+00:00" } object(DateTime)#1 (3) { ["date"]=> string(26) "2015-08-31 15:00:00.000000" ["timezone_type"]=> int(1) ["timezone"]=> string(6) "-09:00" } object(DateTime)#1 (3) { ["date"]=> string(26) "2015-09-01 00:00:00.000000" ["timezone_type"]=> int(1) ["timezone"]=> string(6) "+00:00" } object(DateTimeImmutable)#2 (3) { ["date"]=> string(26) "2015-09-01 00:00:00.000000" ["timezone_type"]=> int(1) ["timezone"]=> string(6) "+00:00" } object(DateTimeImmutable)#3 (3) { ["date"]=> string(26) "2015-08-31 15:00:00.000000" ["timezone_type"]=> int(1) ["timezone"]=> string(6) "-09:00" } object(DateTimeImmutable)#1 (3) { ["date"]=> string(26) "2015-09-01 00:00:00.000000" ["timezone_type"]=> int(1) ["timezone"]=> string(6) "+00:00" } Actual result: -------------- object(DateTime)#1 (3) { ["date"]=> string(26) "2015-09-01 00:00:00.000000" ["timezone_type"]=> int(1) ["timezone"]=> string(6) "+00:00" } object(DateTime)#1 (3) { ["date"]=> string(26) "2015-08-31 15:00:00.000000" ["timezone_type"]=> int(1) ["timezone"]=> string(6) "-09:00" } object(DateTime)#1 (3) { ["date"]=> string(26) "2015-08-31 15:00:00.000000" ["timezone_type"]=> int(1) ["timezone"]=> string(6) "+00:00" } object(DateTimeImmutable)#2 (3) { ["date"]=> string(26) "2015-09-01 00:00:00.000000" ["timezone_type"]=> int(1) ["timezone"]=> string(6) "+00:00" } object(DateTimeImmutable)#3 (3) { ["date"]=> string(26) "2015-08-31 15:00:00.000000" ["timezone_type"]=> int(1) ["timezone"]=> string(6) "-09:00" } object(DateTimeImmutable)#1 (3) { ["date"]=> string(26) "2015-08-31 15:00:00.000000" ["timezone_type"]=> int(1) ["timezone"]=> string(6) "+00:00" }