Někdy může být nutné změnit UTC na místní čas v MySQL. V tomto článku se podíváme na to, jak převést UTC na místní čas v MySQL pomocí convert_tz funkce.
Jak převést UTC na místní čas v MySQL
UTC můžete snadno převést na místní čas v MySQL pomocí convert_tz funkce. Zde je syntaxe funkce convert_tz.
convert_tz(date_value, original_timezone, new_timezone)
Ve výše uvedené funkci musíte zadat hodnotu data jako doslovný řetězec, systémovou funkci nebo název sloupce, jeho původní časové pásmo a také jeho nové časové pásmo.
Zde je příklad převodu hodnoty data a času z UTC na místní časové pásmo (GMT+10:00). Ve výchozím nastavení je třeba zadat původní (+00:00) a nové časové pásmo (+10:00) jako odchylky od 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 | +-----------------------------------------------------+
Místo posunů můžete také zadat časová pásma. V tomto případě si však budete muset stáhnout a nainstalovat časová pásma MySQL na svůj server. Zde je příklad převodu EST na pařížské časové pásmo zadáním názvů časových pásem namísto hodnot posunu.
mysql> select convert_tz('2020-09-17 03:00:00','US/Eastern','Europe/Paris');
Můžete také použít systémové funkce jakonow() v convert_tz funkce pro převod aktuálního data a času na jiná časová pásma, jak je znázorněno níže.
mysql> select convert_tz(now(),'+00:00','-05:00'); +-------------------------------------+ | convert_tz(now(),'+00:00','-05:00') | +-------------------------------------+ | 2020-09-17 04:45:07 | +-------------------------------------+
Přečtěte si také:Jak seskupit podle měsíce v MySQL
Podobně můžete také převádět sloupce data, času a data a času pomocí convert_tz. Zde je příklad změny časového pásma order_date sloupec v prodeji tabulky, od UTC do 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 | +------------------------------------------+
Doufejme, že nyní můžete změnit časové pásmo MySQL v dotazu a převést hodnoty data, času a data a času z jednoho časového pásma do druhého.
Ubiq usnadňuje vizualizaci dat během několika minut a sledování na řídicích panelech v reálném čase. Zkuste to ještě dnes!