Maison > base de données > tutoriel mysql > Comment configurer efficacement les fuseaux horaires dans MySQL ?

Comment configurer efficacement les fuseaux horaires dans MySQL ?

Barbara Streisand
Libérer: 2024-12-14 19:20:14
original
988 Les gens l'ont consulté

How Do I Effectively Configure Time Zones in MySQL?

Comment configurer le fuseau horaire dans MySQL : guide détaillé

MySQL offre une flexibilité dans la gestion des fuseaux horaires via diverses méthodes. Voici un guide complet pour vous aider à définir efficacement le fuseau horaire.

Fuseau horaire par défaut dans le fichier my.cnf

Dans le fichier de configuration MySQL ("my.cnf "), le fuseau horaire par défaut peut être spécifié dans la section [mysqld] à l'aide de la directive suivante :

default-time-zone='+00:00'
Copier après la connexion

Cette ligne définit le fuseau horaire par défaut sur UTC (temps universel coordonné).

Variable de fuseau horaire global

La variable @@global.time_zone stocke le paramètre de fuseau horaire global. Pour vérifier sa valeur actuelle :

SELECT @@global.time_zone;
Copier après la connexion

Pour définir le fuseau horaire global :

SET GLOBAL time_zone = '+8:00';
SET GLOBAL time_zone = 'Europe/Helsinki';
Copier après la connexion

Variable de fuseau horaire de session

Le @@ La variable session.time_zone contrôle le fuseau horaire de la connexion actuelle. Pour afficher sa valeur :

SELECT @@session.time_zone;
Copier après la connexion

Pour définir le fuseau horaire de la session :

SET time_zone = 'Europe/Helsinki';
SET time_zone = "+00:00";
Copier après la connexion

@@session.time_zone et @@global.time_zone peuvent renvoyer SYSTEM, indiquant que l'heure la zone est héritée de my.cnf.

Supplémentaire Notes

Pour activer les fuseaux horaires nommés (par exemple, « Europe/Helsinki »), les tables de fuseaux horaires MySQL doivent être correctement renseignées.

La fonction TIMEDIFF() peut être utilisée pour obtenir le décalage horaire actuel.

UNIX_TIMESTAMP() et UNIX_TIMESTAMP(NOW()) fournissent l'UNIX actuel timestamp.

Pour convertir des horodatages en horodatages UNIX, utilisez SELECT UNIX_TIMESTAMP(timestamp) FROM table_name.

Pour récupérer une colonne datetime UTC en tant qu'horodatage UNIX : SELECT UNIX_TIMESTAMP(CONVERT_TZ(utc_datetime, ' 00 :00', @@session.time_zone)) DE table_name.

La modification du fuseau horaire ne modifie pas les valeurs de date/heure ou d'horodatage stockées, mais affecte leur affichage, car elles sont stockées en interne sous forme d'horodatages UTC.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal