https://dba.stackexchange.com/questions/20217/mysql-set-utc-time-as-default-timestamp
Citation de toute la réponse du lien ci-dessus en cas de suppression :
Pour accompagner le commentaire de @ypercube selon lequel CURRENT_TIMESTAMP
est stocké en UTC mais récupéré dans le fuseau horaire actuel, vous pouvez affecter le paramètre du fuseau horaire de votre serveur avec l'option --default_time_zone pour la récupération. Cela vous permet d'avoir une récupération toujours en UTC.
Par défaut, l'option est 'SYSTEM' qui est la façon dont le fuseau horaire de votre système est défini (qui peut être ou non UTC) :
mysql> SELECT @@global.time_zone, @@session.time_zone;
+--------------------+---------------------+
| @@global.time_zone | @@session.time_zone |
+--------------------+---------------------+
| SYSTEM | SYSTEM |
+--------------------+---------------------+
1 row in set (0.00 sec)
mysql> SELECT CURRENT_TIMESTAMP();
+---------------------+
| CURRENT_TIMESTAMP() |
+---------------------+
| 2012-09-25 16:28:45 |
+---------------------+
1 row in set (0.00 sec)
Vous pouvez définir cela dynamiquement :
mysql> SET @@session.time_zone='+00:00';
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT @@global.time_zone, @@session.time_zone;
+--------------------+---------------------+
| @@global.time_zone | @@session.time_zone |
+--------------------+---------------------+
| SYSTEM | +00:00 |
+--------------------+---------------------+
1 row in set (0.00 sec)
Ou définitivement dans votre my.cnf :
[mysqld]
**autres variables**
default_time_zone='+00:00'
Redémarrez votre serveur, et vous verrez le changement :
mysql> SELECT @@global.time_zone, @@session.time_zone;
+--------------------+---------------------+
| @@global.time_zone | @@session.time_zone |
+--------------------+---------------------+
| +00:00 | +00:00 |
+--------------------+---------------------+
1 row in set (0.00 sec)
mysql> SELECT CURRENT_TIMESTAMP();
+---------------------+
| CURRENT_TIMESTAMP() |
+---------------------+
| 2012-09-25 20:27:50 |
+---------------------+
1 row in set (0.01 sec)
1 votes
Si vous empruntez cette voie, n'oubliez pas de tenir compte de l'heure d'été - c'est-à-dire que le décalage horaire n'est pas nécessairement constant pour l'emplacement d'un utilisateur donné.
1 votes
Oui, j'ai lu tellement de choses confuses et contradictoires sur comment gérer les fuseaux horaires en PHP, il semble que ce soit l'une des choses que PHP doit améliorer.
1 votes
Pour ceux qui cherchent plus d'informations, je mets en lien ces fabuleux articles : infiniteundo.com/post/25326999628/… et infiniteundo.com/post/25509354022/…