Well, I don't think that user time zone is part of any of the PHP global arrays in the way that ip address and user browser information is. PHP's time and date functions work with the server, but of course you know what time zone that is in.
I don't know much about javascript other than it is client side, but have used it to get the time to display on users pages when I didn't want to use server time as my server is in Germany which is 1 hour ahead of the UK. I seem to remember with javascript you can use now.getHours() now.getMinutes() and now.getSeconds() to determine the local time which you could then compare with the PHP server time and detrmine the offset.
I don't know if javascript has a way to determine the time offset from GMT.
Blu