|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2011-07-20 14:24 UTC] danielc@php.net
[2011-11-21 02:19 UTC] danielc@php.net
[2011-11-24 17:13 UTC] derick@php.net
[2011-11-24 17:13 UTC] derick@php.net
[2011-11-24 17:13 UTC] derick@php.net
-Status: Open
+Status: Closed
-Assigned To:
+Assigned To: derick
[2011-12-27 02:13 UTC] danielc@php.net
[2011-12-27 15:19 UTC] danielc@php.net
[2011-12-27 16:49 UTC] danielc@php.net
[2011-12-27 16:57 UTC] danielc@php.net
[2011-12-27 19:43 UTC] danielc@php.net
[2011-12-28 01:12 UTC] danielc@php.net
[2012-04-18 09:47 UTC] laruence@php.net
[2012-07-24 23:38 UTC] rasmus@php.net
[2012-09-30 00:06 UTC] lonnyk at gmail dot com
[2013-11-17 09:35 UTC] laruence@php.net
|
|||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Mon Oct 27 23:00:01 2025 UTC |
Description: ------------ Calling add() or sub() on DateTime objects using a type 2 time zone results in the answer being behind by one hour. Test script has been added to SVN. Test script: --------------- date_default_timezone_set('America/New_York'); $interval = new DateInterval('PT2H1M'); $date3 = new DateTime('2010-10-04 02:18:48'); $date2 = new DateTime('2010-10-04 02:18:48 EDT'); echo 'Zone Type 3: ' . $date3->format('Y-m-d H:i:s T') . "\n"; echo 'Zone Type 2: ' . $date2->format('Y-m-d H:i:s T') . "\n"; echo $interval->format('Add %h hours %i minutes') . "\n"; $date3->add($interval); $date2->add($interval); echo 'Zone Type 3: ' . $date3->format('Y-m-d H:i:s T') . "\n"; echo 'Zone Type 2: ' . $date2->format('Y-m-d H:i:s T') . "\n"; // Try subtracting from expected result. $date3 = new DateTime('2010-10-04 04:19:48'); $date2 = new DateTime('2010-10-04 04:19:48 EDT'); echo $interval->format('Subtract %h hours %i minutes from expected') . "\n"; $date3->sub($interval); $date2->sub($interval); echo 'Zone Type 3: ' . $date3->format('Y-m-d H:i:s T') . "\n"; echo 'Zone Type 2: ' . $date2->format('Y-m-d H:i:s T') . "\n"; Expected result: ---------------- Zone Type 3: 2010-10-04 02:18:48 EDT Zone Type 2: 2010-10-04 02:18:48 EDT Add 2 hours 1 minutes Zone Type 3: 2010-10-04 04:19:48 EDT Zone Type 2: 2010-10-04 04:19:48 EDT Subtract 2 hours 1 minutes from expected Zone Type 3: 2010-10-04 02:18:48 EDT Zone Type 2: 2010-10-04 02:18:48 EDT Actual result: -------------- Zone Type 3: 2010-10-04 02:18:48 EDT Zone Type 2: 2010-10-04 02:18:48 EDT Add 2 hours 1 minutes Zone Type 3: 2010-10-04 04:19:48 EDT Zone Type 2: 2010-10-04 03:19:48 EDT Subtract 2 hours 1 minutes from expected Zone Type 3: 2010-10-04 02:18:48 EDT Zone Type 2: 2010-10-04 01:18:48 EDT