Для определения часового пояса сервера, достаточно вызывать функцию date с параметром "O"
<?php
echo date("O");
?>
будет выведена разница с временем по Гринвичу (в часах). Для определения времени посетителя, скорее всего придётся определить его при помощи JavaScript и поместить в cookie - когда понадобится - брать от туда.