J'ai deux serveurs Linux/MySQL au Royaume-Uni, le fuseau horaire actuel sur les deux rapports BST (GMT + 1) et pourtant j'ai trouvé une différence dans la sortie de MySQL.MySQL UTC_TIMESTAMP() ignorer le paramètre @@ time_zone
La requête suivante:
SELECT version(), @@time_zone, @@system_time_zone, NOW(), UTC_TIMESTAMP()
retours:
Server A: 5.0.27-community-nt | SYSTEM | GMT | 2010-10-12 12:17:01 | 2010-10-12 11:17:01
Server B: 5.0.45-log | SYSTEM | GMT Daylight Time | 2010-10-12 12:17:51 | 2010-10-12 11:17:51
Ainsi, le serveur A rapports, il est réglé sur GMT. Le processus de serveur a été démarré le 1er mars lorsque GMT était en vigueur, donc je m'y attendais. Toutefois, UTC_TIMESTAMP() a correctement (mais de façon inattendue) signalé UTC étant 1 heure avant localtime. Sur le serveur B, le processus MySQL a été démarré pendant l'été, il signale donc correctement GMT Daylight Time et signale à nouveau correctement UTC une heure plus tôt.
Ma question est, comment le serveur A a-t-il obtenu la "bonne" réponse? Et, sera-t-il toujours exact le 31 octobre lorsque l'heure locale reviendra à GMT + 0?
Merci pour votre inscription. Je me demande à quel point la variable @@ system_time_zone est utile, mais ce qui suit me donne assez d'informations: SELECT TIMEDIFF (NOW(), UTC_TIMESTAMP()) – fazy