Maison >base de données >tutoriel mysql >Comment puis-je trouver une liste exhaustive des fuseaux horaires MySQL ?
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
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`;
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` ;
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
Configuration du fuseau horaire pour Calgary
Pour afficher l'heure dans Heure locale de Calgary, utilisez le fuseau horaire suivant :
America/Edmonton
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');
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!