From: Derick Rethans Date: Sun, 27 Jul 2008 19:09:37 +0000 (+0000) Subject: - Fixed DateTime::setTimestamp() and added a test for it. X-Git-Tag: BEFORE_HEAD_NS_CHANGE~1010 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d4210b7a4aa76dfe6f38eeede2b485bcd00707c5;p=php - Fixed DateTime::setTimestamp() and added a test for it. --- diff --git a/ext/date/php_date.c b/ext/date/php_date.c index 60f9d9f4f3..969928cad7 100644 --- a/ext/date/php_date.c +++ b/ext/date/php_date.c @@ -3230,7 +3230,7 @@ PHP_FUNCTION(date_timestamp_set) } dateobj = (php_date_obj *) zend_object_store_get_object(object TSRMLS_CC); DATE_CHECK_INITIALIZED(dateobj->time, DateTime); - timelib_unixtime2gmt(dateobj->time, (timelib_sll)timestamp); + timelib_unixtime2local(dateobj->time, (timelib_sll)timestamp); timelib_update_ts(dateobj->time, NULL); } /* }}} */ diff --git a/ext/date/tests/date-set-timestamp.phpt b/ext/date/tests/date-set-timestamp.phpt new file mode 100644 index 0000000000..7a2b8f7acd --- /dev/null +++ b/ext/date/tests/date-set-timestamp.phpt @@ -0,0 +1,16 @@ +--TEST-- +DateTime::setTimestamp() +--INI-- +date.timezone=Europe/Oslo +--FILE-- +format( "Y-m-d H:i e\n" ); + +$d = new DateTime(); +$d->setTimestamp( 1217184864 ); +echo $d->format( "Y-m-d H:i e\n" ); +?> +--EXPECT-- +2008-07-27 18:54 +00:00 +2008-07-27 20:54 Europe/Oslo