summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/date/lib/unixtime2tm.c4
-rwxr-xr-xext/date/tests/bug55253.phpt4
-rw-r--r--ext/date/tests/bug60236.phpt20
-rw-r--r--ext/date/tests/rfc-datetime_and_daylight_saving_time-type2.phpt2
4 files changed, 23 insertions, 7 deletions
diff --git a/ext/date/lib/unixtime2tm.c b/ext/date/lib/unixtime2tm.c
index 871fa2f5e5..a76fa80991 100644
--- a/ext/date/lib/unixtime2tm.c
+++ b/ext/date/lib/unixtime2tm.c
@@ -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;
diff --git a/ext/date/tests/bug55253.phpt b/ext/date/tests/bug55253.phpt
index 3c0efc4691..3b2b42bc26 100755
--- a/ext/date/tests/bug55253.phpt
+++ b/ext/date/tests/bug55253.phpt
@@ -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
diff --git a/ext/date/tests/bug60236.phpt b/ext/date/tests/bug60236.phpt
new file mode 100644
index 0000000000..b2bb62b02e
--- /dev/null
+++ b/ext/date/tests/bug60236.phpt
@@ -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"
+}
diff --git a/ext/date/tests/rfc-datetime_and_daylight_saving_time-type2.phpt b/ext/date/tests/rfc-datetime_and_daylight_saving_time-type2.phpt
index 5813602513..72585125ea 100644
--- a/ext/date/tests/rfc-datetime_and_daylight_saving_time-type2.phpt
+++ b/ext/date/tests/rfc-datetime_and_daylight_saving_time-type2.phpt
@@ -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