Maison  >  Article  >  base de données  >  Comment travailler avec les fuseaux horaires dans MySQL ?

Comment travailler avec les fuseaux horaires dans MySQL ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-03 19:59:29444parcourir

How to Work with Time Zones in MySQL?

Zones horaires MySQL

MySQL prend en charge un large éventail de fuseaux horaires, vous permettant de stocker et de manipuler des dates et des heures dans diverses régions géographiques.

Liste des fuseaux horaires

MySQL >= 5.7

Pour afficher une liste exhaustive des fuseaux horaires MySQL, exécutez la requête suivante :

<code class="sql">SELECT * FROM mysql.time_zone_name;</code>

MySQL < 5.7

Pour charger les données de fuseau horaire à partir du système et afficher la liste, exécutez ces commandes :

<code class="bash">mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
<code class="sql">USE mysql;
SELECT * FROM `time_zone_name`;

Réglage de l'heure locale de Calgary

Pour afficher l'heure locale de Calgary, vous pouvez définir la variable système time_zone :

<code class="sql">SET time_zone = 'America/Edmonton';

Remarque : Remplacez « Amérique/Edmonton » par l'identifiant de fuseau horaire approprié pour Calgary.

Dépannage

Si vous constatez que les fuseaux horaires ne sont pas disponibles dans MySQL, exécutez la commande suivante :

<code class="bash">mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql

Cette commande charge les données de fuseau horaire du système dans MySQL.

Mises à jour régulières

Pour garantir que les fuseaux horaires MySQL sont automatiquement mis à jour lorsque les fuseaux horaires du système changent, ajoutez le script suivant à une tâche cron :

#!/bin/bash

if [ `find /usr/share/zoneinfo -mtime -1 | grep -v '\.tab' | wc -l` -gt 0 ]; then
    echo "Updating MySQL timezone info"
    mysql_tzinfo_to_sql /usr/share/zoneinfo 2>/dev/null | mysql -u root mysql
    echo "Done!"
fi

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!

Déclaration:
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