Bonjour tout le monde voilà tout est dans le titre, j'ai une table dans une bdd mysql avec une colonne date qui a pour valeur par défaut current timestamp, le problème est que la valeur par défaut est le fuseau horaire utc+2 heures, je souhaite simplement avoir l'heure utc ou gmt si vous préférez, j'ai fait cette commande suivante SET time_zone = '00:00'; mais rien à faire sa ne fontionne toujours pas, merci bien...

4 réponses


Tu peux essayer de modifier la configuration globale du serveur MySQL dans le fichier my.cnf en ajoutant default-time-zone='+00:00'sous la section [mysqld] puis redémarrer le serveur. La commande

SET time_zone = '+00:00';

ne s'applique qu'à la session courante, elle ne change pas la configuration par défaut. Bon courage !

If the timestamps are still off, it might be due to the OS-level time zone. MySQL uses the system time zone by default unless explicitly configured otherwise.

Wow, this is really impressive! You can tell a lot of thought and effort went into this. The attention to detail and overall quality make it stand out, and it’s clear that a lot of skill and dedication went into creating it. Great work! ragdoll hit

✅ 1. Changer le fuseau horaire pour la session courante

(valable jusqu’à la déconnexion)

SET time_zone = '+01:00';

ou

SET time_zone = 'Europe/Paris';

⚠️ Les noms de zones (ex. Europe/Paris) nécessitent que les tables de timezones soient installées.

✅ 2. Changer le fuseau horaire par défaut du serveur MySQL

(modification permanente)

ÉTAPE 1 — Modifier le fichier de configuration

Édite le fichier :

Linux : /etc/mysql/my.cnf ou /etc/my.cnf

Windows : my.ini

Dans la section [mysqld], ajoute :

[mysqld]
default-time-zone = 'Europe/Paris'

ou

default-time-zone = '+01:00'

ÉTAPE 2 — Redémarrer MySQL

Linux (systemd) :

sudo systemctl restart mysql

Windows (Service Manager) : Redémarrer le service MySQL.

✅ 3. Vérifier le fuseau horaire utilisé
SHOW VARIABLES LIKE 'time_zone';
SHOW VARIABLES LIKE 'system_time_zone';

⚠️ Si MySQL ne reconnaît pas les zones nommées (Europe/Paris)

Tu dois importer les timezones du système :

Linux :

sudo mysql_tzinfo_to_sql /usr/share/zoneinfo | sudo mysql -u root -p mysql

Windows (à partir d’un fichier zoneinfo téléchargé) :

mysql_tzinfo_to_sql.exe zoneinfo_dir | mysql -u root -p mysql