Utilisez Unix Time partout. Il utilise UTC donc c'est le même pour chaque fuseau horaire. Les méthodes pour les dates sont généralement converties en utilisant les informations de fuseau horaire dont elles disposent, de sorte que vous auriez vous-même une heure correcte.
Alternativement, vous pouvez utiliser Unix Time uniquement pour transférer l'heure d'un ordinateur à un autre (comme de la base de données à votre serveur exécutant PHP ou au client JavaScript). Il y a des fonctions pour convertir vers et à partir de lui dans toutes les langues. Pour MySQL c'est :
UNIX_TIMESTAMP(date)
FROM_UNIXTIME(unix_timestamp)
De cette façon, vous pourriez avoir votre heure correctement formatée sur la base de données et dans les journaux, mais toujours avoir l'heure locale correcte partout.