Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment convertir UTC en heure locale dans MySQL

Parfois, vous devrez peut-être changer UTC en heure locale dans MySQL. Dans cet article, nous verrons comment convertir l'UTC en heure locale dans MySQL en utilisant convert_tz fonction.


Comment convertir UTC en heure locale dans MySQL

Vous pouvez facilement convertir UTC en heure locale dans MySQL en utilisant convert_tz une fonction. Voici la syntaxe de la fonction convert_tz.

convert_tz(date_value, original_timezone, new_timezone)

Dans la fonction ci-dessus, vous devez spécifier la valeur de date sous forme de chaîne littérale, de fonction système ou de nom de colonne, son fuseau horaire d'origine, ainsi que son nouveau fuseau horaire.

Voici un exemple pour convertir la valeur de date et d'heure de UTC en fuseau horaire local (GMT+10:00). Par défaut, vous devez spécifier l'original (+00:00) et le nouveau fuseau horaire (+10:00) comme décalages par rapport à UTC.

mysql> SELECT CONVERT_TZ('2018-06-15 12:00:00','+00:00','+10:00');
 +-----------------------------------------------------+
 | CONVERT_TZ('2018-06-15 12:00:00','+00:00','+10:00') |
 +-----------------------------------------------------+
 | 2018-06-15 22:00:00                                 |
 +-----------------------------------------------------+

Vous pouvez également spécifier des fuseaux horaires au lieu de décalages. Cependant, dans ce cas, vous devrez télécharger et installer les fuseaux horaires MySQL sur votre serveur. Voici un exemple pour convertir EST en fuseau horaire de Paris en spécifiant des noms de fuseau horaire au lieu de valeurs de décalage.

mysql> select convert_tz('2020-09-17 03:00:00','US/Eastern','Europe/Paris');

Vous pouvez également utiliser des fonctions système comme now() dans convert_tz fonction pour convertir l'heure de la date actuelle dans d'autres fuseaux horaires, comme indiqué ci-dessous.

mysql> select convert_tz(now(),'+00:00','-05:00');
+-------------------------------------+
| convert_tz(now(),'+00:00','-05:00') |
+-------------------------------------+
| 2020-09-17 04:45:07                 |
+-------------------------------------+

A lire également :Comment regrouper par mois dans MySQL

De même, vous pouvez également convertir les colonnes de date, d'heure et de date à l'aide de convert_tz. Voici un exemple pour changer le fuseau horaire de order_date colonne dans ventes tableau, de UTC à EST

mysql> select convert_tz(order_date,'+00:00','-05:00') from sales;
+------------------------------------------+
| convert_tz(order_date,'+00:00','-05:00') |
+------------------------------------------+
| 2020-05-03 19:00:00                      |
| 2020-05-04 19:00:00                      |
| 2020-05-05 19:00:00                      |
| ...                                      |
| 2020-05-13 19:00:00                      |
+------------------------------------------+

J'espère que vous pouvez maintenant modifier le fuseau horaire MySQL dans la requête et convertir les valeurs de date, d'heure et de date/heure d'un fuseau horaire à un autre.

Ubiq permet de visualiser facilement les données en quelques minutes et de les surveiller dans des tableaux de bord en temps réel. Essayez-le aujourd'hui !