diff options
-rw-r--r-- | ext/date/php_date.c | 2 | ||||
-rw-r--r-- | ext/date/tests/date-set-timestamp.phpt | 16 |
2 files changed, 17 insertions, 1 deletions
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-- +<?php +$d = new DateTime( '@1217184864' ); +echo $d->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 |