Usa Unix Time ovunque. Utilizza UTC, quindi è lo stesso per ogni fuso orario. I metodi per le date di solito si convertono in esso e tornano da esso utilizzando le informazioni sul fuso orario in loro possesso, quindi avresti l'ora corretta.
In alternativa puoi usare Unix Time solo per trasferire il tempo da un computer a un altro (come da DB al tuo server che esegue PHP o al client JavaScript). Ci sono funzioni per convertirlo e da esso in ogni lingua. Per MySQL è:
UNIX_TIMESTAMP(date)
FROM_UNIXTIME(unix_timestamp)
In questo modo potresti avere il tuo tempo correttamente formattato sul DB e nei log, ma avere comunque l'ora locale corretta ovunque.