Soit je suis stupide ou quelque chose ne va pas ici.Comment SELECT UTC_TIMESTAMP() peut retourner -10: 00 UTC?
J'ai deux serveurs SQL, l'on est sur ma machine locale (heure locale GMT +2 ) et l'autre est un autre endroit (NOW()
semble revenir GMT + 8) et j'accéder via phpMyAdmin. J'ai une table qui a une colonne DATETIME
. J'essaie
pour stocker le GMT/UTC heure puis l'afficher à nouveau, toujours avec le temps GMT/UTC.
À l'origine j'ai stocké DATE_SUB(NOW(), INTERVAL 8 HOUR)
qui a fonctionné très bien. Cependant, alors j'ai lu sur UTC_TIMESTAMP()
et aimé plus, comme il était plus court et le MySQL manual
même dit:
« Le réglage de fuseau horaire ne modifie pas les valeurs affichées par les fonctions telles que UTC_TIMESTAMP() ou valeurs DATE, TIME ou DATETIME colonnes. "
Alors, parfait, n'est-ce pas? Sauf non.
Supposons que le courant GMT est 2010-02-18 17:18:17 (j'ai même vérifié deux fois avec quelqu'un en Grande-Bretagne).
Sur mon serveur local (2), je reçois les résultats suivants pour les requêtes suivantes:
SELECT NOW(); 2010-02-18 19:18:17
SELECT UTC_TIMESTAMP(); 2010-02-18 17:18:17
Sur mon serveur en ligne je reçois:
SELECT NOW(); 2010-02-19 01:18:17
SELECT UTC_TIMESTAMP(); 2010-02-19 07:18:17 (WHY?!)
Am I Quelque chose qui manque ?!
Je souffre du même problème. – diEcho