From d4210b7a4aa76dfe6f38eeede2b485bcd00707c5 Mon Sep 17 00:00:00 2001 From: Derick Rethans Date: Sun, 27 Jul 2008 19:09:37 +0000 Subject: [PATCH] - Fixed DateTime::setTimestamp() and added a test for it. --- ext/date/php_date.c | 2 +- ext/date/tests/date-set-timestamp.phpt | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 ext/date/tests/date-set-timestamp.phpt 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 -- 2.50.1