De hecho, lo unico que tienes que hacer es establecer la zona horaria de acuerdo a lo elegido por el visitante y PHP se encargara del resto.
Puedes iniciar con el manual para
date_default_timezone_set() y, a partir de ahi, comenzar a planear como hacer para que tus usuarios seleccionen la zona que les corresponde y lo apliques en tu script.
Edito: Tambien puedes comenzar con lo sugerido por
ramiro_md... parece que tarde mucho leyendo y escribiendo.