How do you change the timezone in PHP for an existing timestamp?

date, datetime, php, time, timezone

Solution

Not sure if this what you're looking for, but try DateTime

date_default_timezone_set('Europe/London');

$datetime = new DateTime();
$datetime->setTimestamp($yourTimestamp);
echo $datetime->getTimezone()->getName();
echo $datetime->format(DATE_ATOM);

$la_time = new DateTimeZone('America/Los_Angeles');
$datetime->setTimezone($la_time);
echo $datetime->getTimezone()->getName();
echo $datetime->format(DATE_ATOM);

Problem

The code for the date and time function: ``` function date_and_time($format,$timestamp) { $date_and_time = date($format,$timestamp); return $date_and_time; } ``` And then the code to display it: ``` <?php echo date_and_time("dS F Y", strtotime($profile[last_activity_date_and_time])); ?> ``` The value of $profile[last_activity_date_and_time] is 2010-01-18 14:34:04 When displayed it shows up as 18th January 2010 - 02:34pm But, is there any way to change the timezone it is displayed in?

Original source