Às vezes você pode precisar converter o valor de tempo do MySQL de um fuso horário para outro. Veja como alterar o fuso horário do MySQL na consulta usando a função convert_tz().
Converter fuso horário na consulta MySQL
Usaremos a função CONVERT_TZ para alterar o fuso horário do MySQL na consulta. Aqui está a sintaxe da função CONVERT_TZ.
convert_tz(value, from_timezone, to_timezone)
Na função acima, você precisa fornecer o valor de horário a ser convertido, o fuso horário do qual deseja converter esse valor e o fuso horário para o qual deseja convertê-lo.
Você pode especificar fusos horários como deslocamentos ou nomes de fuso horário.
Bônus de leitura:Como alterar o fuso horário do servidor MySQL
Aqui está um exemplo para converter um valor de tempo literal de UTC para fuso horário EST, usando deslocamentos de fuso horário de '+00:00' e '-05:00' para UTC e EST, respectivamente.
mysql> select convert_tz('2020-09-17 03:00:00','+00:00','-05:00'); +-----------------------------------------------------+ | convert_tz('2020-09-17 03:00:00','+00:00','-05:00') | +-----------------------------------------------------+ | 2020-09-16 22:00:00 | +-----------------------------------------------------+
Você também pode especificar fusos horários em vez de deslocamentos. No entanto, neste caso, você precisará baixar e instalar os fusos horários do MySQL em 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');
Bônus de leitura:MySQL mostra índices no banco de dados
Você também pode converter as funções de data, hora e data e hora do MySQL na função CONVERT_TZ. Aqui está um exemplo para alterar o fuso horário da hora atual obtida usando a função NOW(), de UTC para EST
mysql> select convert_tz(now(),'+00:00','-05:00'); +-------------------------------------+ | convert_tz(now(),'+00:00','-05:00') | +-------------------------------------+ | 2020-09-17 04:45:07 | +-------------------------------------+
Bônus de leitura:Como comparar bancos de dados MySQL
Da mesma forma, você também pode converter colunas de data, hora, data e hora usando convert_tz. Aqui está 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!