Will asked about adjusting the date php displays to account for the fact that the server may not be in the same location as you. (I don't think this solved his problem with displaying the actual timezone differently – but thought it was worth putting up anyway…)
I'm sure there are other ways (if you got 'em feel free to post them or links to them in the comments. It's always interesting to see how different people solve the same problem)
Here's what I do:
Define a variable (in this example I'm calling it $timedifference) as the number of hours you want to add/subtract x 3600 (the timestamp value of an hour). If you're subtracting put a – before the number.
So lets say we want to show the time two hours behind what the server is displaing. (3600×2=7200) So we define timedifference like this:
$timedifference = -7200;
Or lets say we want to display the time three hours ahead. (3600×3=10800):
$timedifference = 10800;
Now lets set our "starting point time". Sometimes this might be a timestamp stored in the database. So you'd define it like:
$thetime = $row['timestamp'];
or maybe you just want to display the current time:
$thetime=time();
Now, to display the date like: January 20, 2003 3:02 pm (see date() function for more details on different displays), you can do it like this: