“Os fusos horários são um dos conceitos complexos com os quais os desenvolvedores têm que lidar. Embora as ferramentas e implementações em bancos de dados relacionais visam torná -los toleráveis, eles podem ser desafiadores e às vezes levar a erros.
Neste artigo, no entanto, discutiremos como você pode converter um tempo de um fuso horário para outro usando o MySQL.”
Função mysql convert_tz ()
A função convert_tz () em MySQL nos permite converter de um fuso horário para outro. A sintaxe da função é como mostrado:
Convert_tz (dt, de_tz, para_tz)
A função leva o valor do tempo da data a ser convertido, o fuso horário do qual você deseja converter e o convertido para o qual deseja converter.
O MySQL permite que você especifique os fusos horários como nomes ou valores de compensação. A função retornará o objeto DateTime selecionado no fuso horário de destino.
Exemplo 1
Abaixo está um exemplo que ilustra como converter uma string de tempo da EST para comer usando os compensações do fuso horário.
Selecione
convert_tz ('2022-08-08 22:22:22',
'+00: 00',
'+03: 00') como Time1;
A consulta de exemplo acima deve retornar uma saída:
| time1 |
| --------------------- |
| 2022-08-09 01: 22: 22 |
Exemplo 2
Como mencionado, podemos especificar o fuso horário de destino pelo seu nome. No entanto, isso exige que você faça o download e instale fusos horários do MySQL.
Você pode executar o comando abaixo para carregar os fusos horários.
$ mysql_tzinfo_to_sql/usr/share/zoneinfo | mysql -u root -p mysql
Se você estiver usando um arquivo de fuso horário, execute o comando:
mysql_tzinfo_to_sql tz_file tz_name | mysql -u root -p mysql
Faça o download dos arquivos do fuso horário no recurso abaixo:
https: // dev.mysql.com/downloads/fusos horários.html
Carregue o arquivo:
mysql -u root -p mysql < file_name
Você pode especificar o fuso horário de destino com o nome:
mysql> selecione convert_tz ('2022-10-10 14:34:00', 'nós/oriental', 'nós/central') como tempo;
A consulta acima deve retornar o tempo convertido ao fuso horário alvo como:
+---------------------+
| tempo |
+---------------------+
| 2022-10-10 13:34:00 |
+---------------------+
1 linha no conjunto (0.00 seg)
Fim
Neste curto post, discutimos como usar a função convert_tz em mysql para converter o tempo de um fuso horário para outro.
Codificação feliz!!