Maison > base de données > tutoriel mysql > Comment la fonction CONVERT_TZ() de MySQL gère-t-elle les fuseaux horaires et l'heure d'été ?

Comment la fonction CONVERT_TZ() de MySQL gère-t-elle les fuseaux horaires et l'heure d'été ?

Mary-Kate Olsen
Libérer: 2024-11-24 01:42:14
original
742 Les gens l'ont consulté

How Does MySQL's CONVERT_TZ() Function Handle Time Zones and Daylight Saving Time?

Gestion du fuseau horaire MySQL CONVERT_TZ()

Question 1 : Considération de l'heure d'été

Oui, vous avez raison. En spécifiant le nom du fuseau horaire (par exemple, "US/Eastern"), CONVERT_TZ() prend en compte l'heure d'été. L'appel de CONVERT_TZ('00:00:00', 'UTC', 'US/Eastern') renvoie '19:00:00' en janvier, reconnaissant que l'heure de l'Est est en retard de 5 heures sur UTC. À l'heure d'été, le résultat serait « 20 :00 :00 », car l'heure de l'Est avance d'une heure.

Question 2 : Mise à jour du tableau des fuseaux horaires

Si vous comptez uniquement sur le nom du fuseau horaire, vous n'avez pas besoin de mettre constamment à jour la table des fuseaux horaires pour maintenir les décalages à jour. CONVERT_TZ() prend en compte les paramètres de fuseau horaire actuels et les règles d'heure d'été.

Question 3 : Dépannage des retours NULL

Le retour NULL dans votre exemple de requête (CONVERT_TZ(' 2004-01-01 12:00:00','GMT','MET')) pourrait en effet être causé par un manque d'heure tableaux de zones. Pour vérifier cela, exécutez la requête suivante :

SELECT CONVERT_TZ(now(),'US/Eastern','US/Central');
Copier après la connexion

Si cela renvoie également NULL, cela indique que les tables de fuseaux horaires n'ont pas été configurées correctement.

Conseils supplémentaires

  • Pour les applications web, vous pouvez utiliser JavaScript pour obtenir l'heure de l'utilisateur zone.
  • Au lieu d'ajouter ou de soustraire du temps directement, vous pouvez utiliser le mot-clé INTERVAL dans MySQL pour gérer les calculs de temps. Par exemple, vous pouvez soustraire un jour et ajouter quatre heures en utilisant :

    now() - interval 1 day + interval 4 hour
    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