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
804 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!

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