Utilice Unix Time en todas partes. Está usando UTC, por lo que es lo mismo para cada zona horaria. Los métodos para las fechas generalmente se convierten a él y viceversa utilizando la información de la zona horaria que tienen, por lo que tendría una hora correcta.
Alternativamente, puede usar Unix Time solo para transferir el tiempo de una computadora a otra (como de DB a su servidor que ejecuta PHP o al cliente JavaScript). Hay funciones para convertir a él y desde él en todos los idiomas. Para MySQL es:
UNIX_TIMESTAMP(date)
FROM_UNIXTIME(unix_timestamp)
De esa manera, podría tener su hora correctamente formateada en la base de datos y en los registros, pero aún así tener la hora local correcta en todas partes.