“Os fusos horários são um dos conceitos complexos com os quais os desenvolvedores precisam lidar. Embora as ferramentas e implementações em bancos de dados relacionais tenham como objetivo torná-los toleráveis, eles podem ser desafiadores e, às vezes, levar a erros.
Neste artigo, no entanto, discutiremos como você pode converter um horário de um fuso horário para outro usando o MySQL.”
Função Convert_Tz() do MySQL
A função convert_tz() no MySQL nos permite converter de um fuso horário para outro. A sintaxe da função é a mostrada:
CONVERT_TZ ( dt,de_tz,para_tz )
A função recebe o valor de data e hora a ser convertido, o fuso horário do qual você deseja converter e a conversão para a qual deseja converter.
O MySQL permite que você especifique os fusos horários como nomes ou valores de deslocamento. A função retornará o objeto Datetime selecionado no fuso horário de destino.
Exemplo 1
Veja abaixo um exemplo que ilustra como converter uma string de tempo de EST para EAT usando os deslocamentos de fuso horário.
selecionarconvert_tz ( '2022-08-08 22:22:22' ,
'+00:00' ,
'+03:00' ) Como hora1;
A consulta de exemplo acima deve retornar uma saída:
| hora1 |
| ------------------- |
| 2022 -08-09 01: 22 : 22 |
Exemplo 2
Conforme mencionado, podemos especificar o fuso horário de destino por seu nome. No entanto, isso requer que você baixe e instale o MySQL Timezones.
Você pode executar o comando abaixo para carregar os fusos horários.
$ mysql_tzinfo_to_sql / usr / compartilhar / informações de zona | mysql -dentro raiz -p mysql
Se você estiver usando um arquivo de fuso horário, execute o comando:
Baixe os arquivos de fuso horário no recurso abaixo:
Carregue o arquivo:
Você pode então especificar o fuso horário de destino com o nome:
A consulta acima deve retornar a hora convertida para o fuso horário de destino como:
| Tempo |
+----------+
| 2022 - 10 - 10 13 : 3. 4 :00 |
+----------+
1 fileira dentro definir ( 0,00 segundo )
Fim
Neste breve post, discutimos como usar a função convert_tz no MySQL para converter o tempo de um fuso horário para outro.
Boa codificação!!