In response to the other comments expressing surprise that changing the timezone does not affect the timestamp:

A UNIX timestamp is defined as the number of seconds that have elapsed since 00:00:00 (UTC), Thursday, 1 January 1970.

So: with respect to UTC. Always.

Calling setTimezone() never changes the actual "absolute", underlying, moment-in-time itself. It only changes the timezone you wish to "view" that moment "from". Consider the following:

<?php// A time in London.$datetime = new DateTime('2015-06-22T10:40:25', new DateTimeZone('Europe/London'));

// I wonder how that SAME moment-in-time would // be described in other places around the world.$datetime->setTimezone(new DateTimeZone('Australia/Sydney'));print $datetime->format('Y-m-d H:i:s (e)');// 2015-06-22 19:40:25 (Australia/Sydney)