Por IP puedes lograr la localización geográfica del cliente .. y de ahí aplicar tu diferencia horaria correspondiente a la localización del usuario.
Puedes usar las BD de "IP2Country". Usando google .. veras un montón de aplicaciones hechas en PHP que usan estas Base de datos que guardan IP -> Pais que pertenece.
http://www.google.cl/search?hl=es&q=...hp+class&meta=
Tambien puedes simplemente preguntar la zona horaría que está el usuario y listo .. aplicas tus +/- horas a la hora actual de tu servidor (en GMT para obtener la hora 0 .. ya que tu servidor puede estar en otra locación diferente con +/- diferencia horaria). Iguamente esto último lo tendrás que hacer ..
Un saludo,