I\'m currently storing times using the \'time()\' function in the database. However, it\'s using the timezone of the server, and I\'d like for each user to see the time acco
Really you should not be hacking the timestamps themselves to change the date within, you should just be applying the timezone to the timestamp before presenting the formatted datestamp to the user.
This is a modified version of Mike's code that should work for PHP 5 >= 5.2.0 as found on php.net
// OO Code
$st = 1170288000 // a timestamp
$dt = new DateTime("@$st");
$dt->setTimeZone(new DateTimeZone('America/New_York'));
$adjusted_timestamp = $dt->format('U') + $dt->getOffset();
echo ' Timestamp adjusted for America/New_York: ' . $adjusted_timestamp;
// Procedural Code
$st = 1170288000 // a timestamp
$dt = date_create("@$st");
date_timezone_set($dt, timezone_open('America/New_York'));
$adjusted_timestamp = date_format($dt, 'U') + date_offset_get($dt);
echo ' Timestamp adjusted for America/New_York: ' . $adjusted_timestamp;