Maison >base de données >tutoriel mysql >Comment convertir les dates UTC en fuseau horaire local dans la requête de sélection MySQL ?

Comment convertir les dates UTC en fuseau horaire local dans la requête de sélection MySQL ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-26 04:21:09929parcourir

How to Convert UTC Dates to Local Time Zone in MySQL Select Query?

Conversion des dates UTC en fuseau horaire local dans la requête de sélection MySQL

Problème

Vous travaillez avec une requête MySQL qui contient une colonne "displaytime" qui stocke les horodatages au format UTC. Cependant, vous devez afficher les horodatages dans le fuseau horaire local. La fonction CONVERT_TZ() ne fonctionne pas comme prévu.

Solution

Pour convertir un horodatage UTC en fuseau horaire local à l'aide de la fonction CONVERT_TZ(), vous devez spécifier les abréviations de fuseau horaire pour les deux les fuseaux horaires UTC et locaux. La syntaxe correcte est la suivante :

SELECT CONVERT_TZ(displaytime, 'UTC', 'LOCAL')

Exemple de requête

WHERE displaytime >= '2012-12-01 00:00:00'
AND displaytime <= '2013-02-22 23:59:59'
AND ct.organizationId IN (
  SELECT t.organizationId
  FROM organization_ AS t
  JOIN organization_ AS p ON t.treePath LIKE CONCAT(p.treePath, '%')
  WHERE p.organizationId = 10707
)

Requête modifiée :

WHERE CONVERT_TZ(displaytime, 'UTC', 'LOCAL') >= '2012-12-01 00:00:00'
AND CONVERT_TZ(displaytime, 'UTC', 'LOCAL') <= '2013-02-22 23:59:59'
AND ct.organizationId IN (
  SELECT t.organizationId
  FROM organization_ AS t
  JOIN organization_ AS p ON t.treePath LIKE CONCAT(p.treePath, '%')
  WHERE p.organizationId = 10707
)

Dépannage

Si CONVERT_TZ() ne fonctionne pas, cela peut être dû à des tables de fuseaux horaires manquantes ou vides. Vous pouvez initialiser les tables de fuseaux horaires à l'aide du programme mysql_tzinfo_to_sql.

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