Às vezes, você pode precisar alterar o UTC para a hora local no MySQL. Neste artigo, veremos como converter UTC para hora local no MySQL usando convert_tz função.
Como converter UTC para hora local no MySQL
Você pode facilmente converter UTC para hora local no MySQL usando convert_tz função. Aqui está a sintaxe para a função convert_tz.
convert_tz(date_value, original_timezone, new_timezone)
Na função acima, você precisa especificar o valor da data como uma string literal, função do sistema ou nome da coluna, seu fuso horário original, bem como seu novo fuso horário.
Aqui está um exemplo para converter o valor da data e hora do UTC para o fuso horário local (GMT+10:00). Por padrão, você precisa especificar os fusos horários originais (+00:00) e novos (+10:00) como deslocamentos do 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 | +-----------------------------------------------------+
Você também pode especificar fusos horários em vez de deslocamentos. No entanto, nesse caso, você precisará fazer o download e instalar os fusos horários do MySQL no seu servidor. Aqui está um exemplo para converter EST para fuso horário de Paris especificando nomes de fuso horário em vez de valores de deslocamento.
mysql> select convert_tz('2020-09-17 03:00:00','US/Eastern','Europe/Paris');
Você também pode usar funções do sistema como now() em convert_tz função para converter a data e hora atual para outros fusos horários, conforme mostrado abaixo.
mysql> select convert_tz(now(),'+00:00','-05:00'); +-------------------------------------+ | convert_tz(now(),'+00:00','-05:00') | +-------------------------------------+ | 2020-09-17 04:45:07 | +-------------------------------------+
Leia também:Como agrupar por mês no MySQL
Da mesma forma, você também pode converter colunas de data, hora, data e hora usando convert_tz. Veja um exemplo para alterar o fuso horário de order_date coluna em vendas tabela, de UTC a 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 | +------------------------------------------+
Espero que agora você possa alterar o fuso horário do MySQL na consulta e converter valores de data, hora e data e hora de um fuso horário para outro.
A Ubiq facilita a visualização de dados em minutos e o monitoramento em painéis em tempo real. Experimente hoje!