--TEST-- Bug #48097 (date_timezone_set function produces wrong datetime result) --INI-- date.timezone=UTC --FILE-- format( DATE_ISO8601 ), "\n"; echo $d->format( 'U' ), "\n\n"; $d->setTimeZone( new DateTimeZone( 'Europe/Budapest' ) ); var_dump( $d ); echo $d->format( DATE_ISO8601 ), "\n\n"; echo $d->format( 'U' ), "\n\n"; --EXPECT-- object(DateTime)#1 (3) { ["date"]=> string(26) "1955-05-23 00:00:00.000000" ["timezone_type"]=> int(1) ["timezone"]=> string(6) "+02:00" } 1955-05-23T00:00:00+0200 -461124000 object(DateTime)#1 (3) { ["date"]=> string(26) "1955-05-22 23:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(15) "Europe/Budapest" } 1955-05-22T23:00:00+0100 -461124000