Maison > base de données > tutoriel mysql > le corps du texte

Comment puis-je trouver une liste exhaustive des fuseaux horaires MySQL ?

Patricia Arquette
Libérer: 2024-11-03 00:01:02
original
806 Les gens l'ont consulté

How can I find an exhaustive list of MySQL time zones?

Liste exhaustive des fuseaux horaires MySQL

Introduction

MySQL utilise des fuseaux horaires pour gérer divers calculs de date et d'heure, mais il n'est pas rare que les utilisateurs rencontrent des difficultés pour accéder à une liste complète des fuseaux horaires MySQL.

Dépendance des fuseaux horaires MySQL par rapport au système d'exploitation hôte

Les valeurs time_zone valides dans les paramètres MySQL dépendent généralement du système d'exploitation hôte. Cependant, trouver une liste exhaustive des fuseaux horaires pris en charge peut s'avérer difficile.

Chargement des données de fuseau horaire dans MySQL

Par défaut, MySQL ne charge pas les données de fuseau horaire, sauf manuellement. chargé. Pour le charger, exécutez la commande suivante :

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
Copier après la connexion

Après avoir chargé les données, exécutez ce qui suit pour afficher la liste des fuseaux horaires :

USE mysql;
SELECT * FROM `time_zone_name`;
Copier après la connexion

Déchargement des données de fuseau horaire

Si vous le souhaitez, les données de fuseau horaire peuvent être déchargées de MySQL en exécutant :

TRUNCATE `time_zone` ;
TRUNCATE `time_zone_leap_second` ;
TRUNCATE `time_zone_name` ;
TRUNCATE `time_zone_transition` ;
TRUNCATE `time_zone_transition_type` ;
Copier après la connexion

Remarque sur la suppression des tables

Ne SUPPRIMEZ jamais ces tableaux, car cela peut entraîner de graves problèmes.

Mises à jour automatiques des fuseaux horaires

Pour vous assurer que les fuseaux horaires sont mis à jour régulièrement, vous pouvez activer connectez-vous root sans demander de mot de passe et configurez une tâche cron pour exécuter le script suivant une fois par jour :

#!/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!\n"
fi
Copier après la connexion

Configuration du fuseau horaire pour Calgary

Pour afficher l'heure dans Heure locale de Calgary, utilisez le fuseau horaire suivant :

America/Edmonton
Copier après la connexion

Exemple de requête

La requête suivante convertit un horodatage en heure locale de Calgary :

SELECT CONVERT_TZ('2023-03-08 15:00:00', 'GMT', 'America/Edmonton');
Copier après la connexion

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