2 votes

Fonction TIME de mySQL et fuseau horaire

Je veux utiliser le NOW() avec un fuseau horaire spécifique, par exemple GMT+8 pour un utilisateur et GMT-2 pour un autre utilisateur. Comment puis-je y parvenir ?

Je suppose que le temps de NOW() est quelque peu lié au fuseau horaire et à l'heure du serveur SQL, mais je veux qu'il soit tel que FN(GMT+8) me donne toujours la valeur de NOW() en GMT+8, quel que soit le fuseau horaire dans lequel se trouve le serveur SQL.

Petite question : Comment afficher/connaître l'heure actuelle du serveur SQL ?

5voto

AJ. Points 12912

En NOW() fournit l'heure actuelle dans le fuseau horaire local du serveur. Si vous souhaitez convertir l'heure dans un autre fuseau horaire, vous pouvez utiliser la fonction CONVERT_TZ()


MISE À JOUR :

Vous pouvez utiliser un fuseau horaire par connexion (qui n'affecte pas le fuseau horaire du système) et obtenir l'effet désiré :

mysql> select now();
+---------------------+
| now()               |
+---------------------+
| 2011-06-03 22:40:51 |
+---------------------+
1 row in set (0.00 sec)

mysql> SET time_zone = '+08:00';
Query OK, 0 rows affected (0.00 sec)

mysql> select now();
+---------------------+
| now()               |
+---------------------+
| 2011-06-04 10:41:15 |
+---------------------+
1 row in set (0.00 sec)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X