En SQL tienes posibilidad de getinar fechas .. es decir "convertir" y dar el formato que gutes a una fecha dada (almacenada en tu BD).
Si usas "NOW()" la fecha "actual" que guardarás en tu BD será la que tenga ese servidor Mysql (= a la que te pueda dar date() de PHP si es que ambos (lo normal) están en el mismo servidor).
A la hora de hacer tus consultas SQL puedes aplicar la diferencia horaria en función de la locación física del usuario sumando o restando X horas a la fecha que almacencas en tu BD.
http://dev.mysql.com/doc/mysql/en/Da...functions.html
De hecho ... si usases Mysql versión 4.1.3 en adelante .. podrías usar:
CONVERT_TZ()
http://dev.mysql.com/doc/mysql/en/Ti...e_support.html
Pero si no usas esa versión de Mysql no pasa nada .. puedes implementarlo igualmente desde SQL con funciones más básicas de tratamiento de fechas.
Dejo la pregunta en el foro de PHP .. por qué segúro que te dan alguna alternativa vía PHP .. pero, insisto (como siempre) que todo lo que puedas resolver con SQL es lo ideal y más optimo.
Un saludo,
PD: SI quieres la solución "SQL" solicita que te movamos el mensaje al foro de "Base de datos".