- 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.
This commit is contained in:
Derick Rethans 2011-11-24 17:13:47 +00:00
parent d4406ad0a4
commit a02ca5c881
4 changed files with 23 additions and 7 deletions

View File

@ -146,7 +146,7 @@ void timelib_update_from_sse(timelib_time *tm)
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 @@ void timelib_unixtime2local(timelib_time *tm, timelib_sll ts)
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;

View File

@ -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 <danielc@php.net>
--XFAIL--
Bug 55253 exists
--FILE--
<?php

View File

@ -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"
}

View File

@ -2,8 +2,6 @@
RFC: DateTime and Daylight Saving Time Transitions (zone type 2)
--CREDITS--
Daniel Convissor <danielc@php.net>
--XFAIL--
RFC not implemented yet
--FILE--
<?php