I've never tried it before but you could set a session variable to register each user to a particular time zone. You could then use the date and mktime functions along with the timezone session variable to format the correct time. I haven't tested it but something like this.
<?php
// session value depends on which timezone user is registered.
// since i'm on the West coast i'm saying west coast = 0, east coast = 3
session_start();
$_SESSION['timezone'] = 0; // West coast
$tstamp = mktime((date('H') + $_SESSION['timezone']), date('i'), date('s'), 0, 0, 0);
print $date('H:i:s a', $tstamp);
?>
or maybe this
<?php
session_start();
$_SESSION['timezone'] = 0;
$tstamp = time() + (($_SESSION['timezone'] * 60) * 60);
print $date('H:i:s a', $tstamp);
?>