derick Thu, 24 Nov 2011 17:13:47 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=319767
Log:
- Fixed bug #60236 (TLA timezone dates are not converted properly from
timestamp).
- Fixed bug #55253 (DateTime::add() and sub() result -1 hour on objects with
time zone type 2).
And fixed some test cases.
Bugs: https://bugs.php.net/60236 (Assigned) TLA timezone dates are not
converted properly from timestamp
https://bugs.php.net/55253 (Open) DateTime::add() and sub() result -1
hour on objects with time zone type 2
Changed paths:
U php/php-src/branches/PHP_5_3/NEWS
U php/php-src/branches/PHP_5_3/ext/date/lib/unixtime2tm.c
U php/php-src/branches/PHP_5_3/ext/date/tests/bug55253.phpt
A php/php-src/branches/PHP_5_3/ext/date/tests/bug60236.phpt
U
php/php-src/branches/PHP_5_3/ext/date/tests/date_default_timezone_get-1.phpt
U
php/php-src/branches/PHP_5_3/ext/date/tests/date_default_timezone_get-2.phpt
U php/php-src/branches/PHP_5_3/ext/date/tests/mktime-2.phpt
U
php/php-src/branches/PHP_5_3/ext/date/tests/rfc-datetime_and_daylight_saving_time-type2.phpt
U php/php-src/branches/PHP_5_4/ext/date/lib/unixtime2tm.c
U php/php-src/branches/PHP_5_4/ext/date/tests/bug55253.phpt
A php/php-src/branches/PHP_5_4/ext/date/tests/bug60236.phpt
U
php/php-src/branches/PHP_5_4/ext/date/tests/rfc-datetime_and_daylight_saving_time-type2.phpt
U php/php-src/trunk/ext/date/lib/unixtime2tm.c
U php/php-src/trunk/ext/date/tests/bug55253.phpt
A php/php-src/trunk/ext/date/tests/bug60236.phpt
U
php/php-src/trunk/ext/date/tests/rfc-datetime_and_daylight_saving_time-type2.phpt
Modified: php/php-src/branches/PHP_5_3/NEWS
===================================================================
--- php/php-src/branches/PHP_5_3/NEWS 2011-11-24 16:39:12 UTC (rev 319766)
+++ php/php-src/branches/PHP_5_3/NEWS 2011-11-24 17:13:47 UTC (rev 319767)
@@ -24,8 +24,14 @@
. Added .phar to default authorized extensions. (fat)
- BCmath:
- . Fixed bug #60377 (bcscale related crashes on 64bits platforms) (shm)
+ . Fixed bug #60377 (bcscale related crashes on 64bits platforms). (shm)
+- Date:
+ . Fixed bug #60236 (TLA timezone dates are not converted properly from
+ timestamp). (Derick)
+ . Fixed bug #55253 (DateTime::add() and sub() result -1 hour on objects with
+ time zone type 2). (Derick)
+
- EXIF:
. Fixed bug #60150 (Integer overflow during the parsing of invalid exif
header). (Stas, flolechaud at gmail dot com)
Modified: php/php-src/branches/PHP_5_3/ext/date/lib/unixtime2tm.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/date/lib/unixtime2tm.c 2011-11-24 16:39:12 UTC (rev 319766)
+++ php/php-src/branches/PHP_5_3/ext/date/lib/unixtime2tm.c 2011-11-24 17:13:47 UTC (rev 319767)
@@ -146,7 +146,7 @@
int z = tm->z;
signed int dst = tm->dst;
- timelib_unixtime2gmt(tm, tm->sse - (tm->z * 60));
+ timelib_unixtime2gmt(tm, tm->sse - (tm->z * 60) + (tm->dst * 3600));
tm->z = z;
tm->dst = dst;
@@ -184,7 +184,7 @@
int z = tm->z;
signed int dst = tm->dst;
- timelib_unixtime2gmt(tm, ts - (tm->z * 60));
+ timelib_unixtime2gmt(tm, ts - (tm->z * 60) + (tm->dst * 3600));
tm->z = z;
tm->dst = dst;
Modified: php/php-src/branches/PHP_5_3/ext/date/tests/bug55253.phpt
===================================================================
--- php/php-src/branches/PHP_5_3/ext/date/tests/bug55253.phpt 2011-11-24 16:39:12 UTC (rev 319766)
+++ php/php-src/branches/PHP_5_3/ext/date/tests/bug55253.phpt 2011-11-24 17:13:47 UTC (rev 319767)
@@ -1,9 +1,7 @@
--TEST--
-DateTime::add() and sub() result -1 hour on objects with time zone type 2
+Bug #55253: DateTime::add() and sub() result -1 hour on objects with time zone type 2
--CREDITS--
Daniel Convissor <[email protected]>
---XFAIL--
-Bug 55253 exists
--FILE--
<?php
Added: php/php-src/branches/PHP_5_3/ext/date/tests/bug60236.phpt
===================================================================
--- php/php-src/branches/PHP_5_3/ext/date/tests/bug60236.phpt (rev 0)
+++ php/php-src/branches/PHP_5_3/ext/date/tests/bug60236.phpt 2011-11-24 17:13:47 UTC (rev 319767)
@@ -0,0 +1,20 @@
+--TEST--
+Bug #60236: TLA timezone dates are not converted properly from timestamp
+--FILE--
+<?php
+$t = new DateTime('2010-07-06 18:38:28 EDT');
+$ts = $t->format('U');
+var_dump($ts);
+$t->setTimestamp($ts);
+var_dump($t);
+?>
+--EXPECT--
+string(10) "1278455908"
+object(DateTime)#1 (3) {
+ ["date"]=>
+ string(19) "2010-07-06 18:38:28"
+ ["timezone_type"]=>
+ int(2)
+ ["timezone"]=>
+ string(3) "EDT"
+}
Modified: php/php-src/branches/PHP_5_3/ext/date/tests/date_default_timezone_get-1.phpt
===================================================================
--- php/php-src/branches/PHP_5_3/ext/date/tests/date_default_timezone_get-1.phpt 2011-11-24 16:39:12 UTC (rev 319766)
+++ php/php-src/branches/PHP_5_3/ext/date/tests/date_default_timezone_get-1.phpt 2011-11-24 17:13:47 UTC (rev 319767)
@@ -9,8 +9,8 @@
echo date('e'), "\n";
?>
--EXPECTF--
-Warning: date_default_timezone_get(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected '%s' for '%s' instead in %sdate_default_timezone_get-1.php on line 3
-%s
+Warning: date_default_timezone_get(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'UTC' for 'UTC/0.0/no DST' instead in %sdate_default_timezone_get-1.php on line 3
+UTC
-Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected '%s' for '%s' instead in %sdate_default_timezone_get-1.php on line 4
-%s
+Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'UTC' for 'UTC/0.0/no DST' instead in %sdate_default_timezone_get-1.php on line 4
+UTC
Modified: php/php-src/branches/PHP_5_3/ext/date/tests/date_default_timezone_get-2.phpt
===================================================================
--- php/php-src/branches/PHP_5_3/ext/date/tests/date_default_timezone_get-2.phpt 2011-11-24 16:39:12 UTC (rev 319766)
+++ php/php-src/branches/PHP_5_3/ext/date/tests/date_default_timezone_get-2.phpt 2011-11-24 17:13:47 UTC (rev 319767)
@@ -8,5 +8,5 @@
echo date_default_timezone_get(), "\n";
?>
--EXPECTF--
-Warning: date_default_timezone_get(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected '%s' for '%s' instead in %sdate_default_timezone_get-2.php on line 3
-%s
+Warning: date_default_timezone_get(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'UTC' for 'UTC/0.0/no DST' instead in %sdate_default_timezone_get-2.php on line 3
+UTC
Modified: php/php-src/branches/PHP_5_3/ext/date/tests/mktime-2.phpt
===================================================================
--- php/php-src/branches/PHP_5_3/ext/date/tests/mktime-2.phpt 2011-11-24 16:39:12 UTC (rev 319766)
+++ php/php-src/branches/PHP_5_3/ext/date/tests/mktime-2.phpt 2011-11-24 17:13:47 UTC (rev 319767)
@@ -1,9 +1,5 @@
--TEST--
mktime() [2]
---SKIPIF--
-<?php
-if(defined('PHP_WINDOWS_VERSION_MAJOR')) die("skip mktime uses system TZ on Windows and putenv TZ is not supported on Windows at runtime");
-?>
--INI--
error_reporting=2047
--FILE--
Modified: php/php-src/branches/PHP_5_3/ext/date/tests/rfc-datetime_and_daylight_saving_time-type2.phpt
===================================================================
--- php/php-src/branches/PHP_5_3/ext/date/tests/rfc-datetime_and_daylight_saving_time-type2.phpt 2011-11-24 16:39:12 UTC (rev 319766)
+++ php/php-src/branches/PHP_5_3/ext/date/tests/rfc-datetime_and_daylight_saving_time-type2.phpt 2011-11-24 17:13:47 UTC (rev 319767)
@@ -2,8 +2,6 @@
RFC: DateTime and Daylight Saving Time Transitions (zone type 2)
--CREDITS--
Daniel Convissor <[email protected]>
---XFAIL--
-RFC not implemented yet
--FILE--
<?php
Modified: php/php-src/branches/PHP_5_4/ext/date/lib/unixtime2tm.c
===================================================================
--- php/php-src/branches/PHP_5_4/ext/date/lib/unixtime2tm.c 2011-11-24 16:39:12 UTC (rev 319766)
+++ php/php-src/branches/PHP_5_4/ext/date/lib/unixtime2tm.c 2011-11-24 17:13:47 UTC (rev 319767)
@@ -146,7 +146,7 @@
int z = tm->z;
signed int dst = tm->dst;
- timelib_unixtime2gmt(tm, tm->sse - (tm->z * 60));
+ timelib_unixtime2gmt(tm, tm->sse - (tm->z * 60) + (tm->dst * 3600));
tm->z = z;
tm->dst = dst;
@@ -184,7 +184,7 @@
int z = tm->z;
signed int dst = tm->dst;
- timelib_unixtime2gmt(tm, ts - (tm->z * 60));
+ timelib_unixtime2gmt(tm, ts - (tm->z * 60) + (tm->dst * 3600));
tm->z = z;
tm->dst = dst;
Modified: php/php-src/branches/PHP_5_4/ext/date/tests/bug55253.phpt
===================================================================
--- php/php-src/branches/PHP_5_4/ext/date/tests/bug55253.phpt 2011-11-24 16:39:12 UTC (rev 319766)
+++ php/php-src/branches/PHP_5_4/ext/date/tests/bug55253.phpt 2011-11-24 17:13:47 UTC (rev 319767)
@@ -1,9 +1,7 @@
--TEST--
-DateTime::add() and sub() result -1 hour on objects with time zone type 2
+Bug #55253: DateTime::add() and sub() result -1 hour on objects with time zone type 2
--CREDITS--
Daniel Convissor <[email protected]>
---XFAIL--
-Bug 55253 exists
--FILE--
<?php
Added: php/php-src/branches/PHP_5_4/ext/date/tests/bug60236.phpt
===================================================================
--- php/php-src/branches/PHP_5_4/ext/date/tests/bug60236.phpt (rev 0)
+++ php/php-src/branches/PHP_5_4/ext/date/tests/bug60236.phpt 2011-11-24 17:13:47 UTC (rev 319767)
@@ -0,0 +1,20 @@
+--TEST--
+Bug #60236: TLA timezone dates are not converted properly from timestamp
+--FILE--
+<?php
+$t = new DateTime('2010-07-06 18:38:28 EDT');
+$ts = $t->format('U');
+var_dump($ts);
+$t->setTimestamp($ts);
+var_dump($t);
+?>
+--EXPECT--
+string(10) "1278455908"
+object(DateTime)#1 (3) {
+ ["date"]=>
+ string(19) "2010-07-06 18:38:28"
+ ["timezone_type"]=>
+ int(2)
+ ["timezone"]=>
+ string(3) "EDT"
+}
Modified: php/php-src/branches/PHP_5_4/ext/date/tests/rfc-datetime_and_daylight_saving_time-type2.phpt
===================================================================
--- php/php-src/branches/PHP_5_4/ext/date/tests/rfc-datetime_and_daylight_saving_time-type2.phpt 2011-11-24 16:39:12 UTC (rev 319766)
+++ php/php-src/branches/PHP_5_4/ext/date/tests/rfc-datetime_and_daylight_saving_time-type2.phpt 2011-11-24 17:13:47 UTC (rev 319767)
@@ -2,8 +2,6 @@
RFC: DateTime and Daylight Saving Time Transitions (zone type 2)
--CREDITS--
Daniel Convissor <[email protected]>
---XFAIL--
-RFC not implemented yet
--FILE--
<?php
Modified: php/php-src/trunk/ext/date/lib/unixtime2tm.c
===================================================================
--- php/php-src/trunk/ext/date/lib/unixtime2tm.c 2011-11-24 16:39:12 UTC (rev 319766)
+++ php/php-src/trunk/ext/date/lib/unixtime2tm.c 2011-11-24 17:13:47 UTC (rev 319767)
@@ -146,7 +146,7 @@
int z = tm->z;
signed int dst = tm->dst;
- timelib_unixtime2gmt(tm, tm->sse - (tm->z * 60));
+ timelib_unixtime2gmt(tm, tm->sse - (tm->z * 60) + (tm->dst * 3600));
tm->z = z;
tm->dst = dst;
@@ -184,7 +184,7 @@
int z = tm->z;
signed int dst = tm->dst;
- timelib_unixtime2gmt(tm, ts - (tm->z * 60));
+ timelib_unixtime2gmt(tm, ts - (tm->z * 60) + (tm->dst * 3600));
tm->z = z;
tm->dst = dst;
Modified: php/php-src/trunk/ext/date/tests/bug55253.phpt
===================================================================
--- php/php-src/trunk/ext/date/tests/bug55253.phpt 2011-11-24 16:39:12 UTC (rev 319766)
+++ php/php-src/trunk/ext/date/tests/bug55253.phpt 2011-11-24 17:13:47 UTC (rev 319767)
@@ -1,9 +1,7 @@
--TEST--
-DateTime::add() and sub() result -1 hour on objects with time zone type 2
+Bug #55253: DateTime::add() and sub() result -1 hour on objects with time zone type 2
--CREDITS--
Daniel Convissor <[email protected]>
---XFAIL--
-Bug 55253 exists
--FILE--
<?php
Added: php/php-src/trunk/ext/date/tests/bug60236.phpt
===================================================================
--- php/php-src/trunk/ext/date/tests/bug60236.phpt (rev 0)
+++ php/php-src/trunk/ext/date/tests/bug60236.phpt 2011-11-24 17:13:47 UTC (rev 319767)
@@ -0,0 +1,20 @@
+--TEST--
+Bug #60236: TLA timezone dates are not converted properly from timestamp
+--FILE--
+<?php
+$t = new DateTime('2010-07-06 18:38:28 EDT');
+$ts = $t->format('U');
+var_dump($ts);
+$t->setTimestamp($ts);
+var_dump($t);
+?>
+--EXPECT--
+string(10) "1278455908"
+object(DateTime)#1 (3) {
+ ["date"]=>
+ string(19) "2010-07-06 18:38:28"
+ ["timezone_type"]=>
+ int(2)
+ ["timezone"]=>
+ string(3) "EDT"
+}
Property changes on: php/php-src/trunk/ext/date/tests/bug60236.phpt
___________________________________________________________________
Added: svn:executable
+ *
Modified: php/php-src/trunk/ext/date/tests/rfc-datetime_and_daylight_saving_time-type2.phpt
===================================================================
--- php/php-src/trunk/ext/date/tests/rfc-datetime_and_daylight_saving_time-type2.phpt 2011-11-24 16:39:12 UTC (rev 319766)
+++ php/php-src/trunk/ext/date/tests/rfc-datetime_and_daylight_saving_time-type2.phpt 2011-11-24 17:13:47 UTC (rev 319767)
@@ -2,8 +2,6 @@
RFC: DateTime and Daylight Saving Time Transitions (zone type 2)
--CREDITS--
Daniel Convissor <[email protected]>
---XFAIL--
-RFC not implemented yet
--FILE--
<?php
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php