Ajustando fuso horário no PHP

Posted on: November 03, 2020 06:56 PM

Posted by: Renato

Categories: PHP linux

Views: 20

Ajustando fuso horário no PHP
Algumas aplicações precisam saber o fuso horário para realizar algumas ações específicas e pode ser uma boa ideia ajustar o date.timezone[1] nas configurações do PHP para essas aplicações.

Se o comando abaixo não exibir nenhuma saída, provavelmente o date.timezone não está configurado.

$ php -r "echo ini_get('date.timezone');"
>>>
É possível verificar a string que será exibida pela aplicação com o comando date[2] e o corrente fuso horário usando o comando abaixo.

$ php -r "echo date('r');"
>>> Fri, 22 Nov 2019 14:28:03 +0000
O +0000 indica que o fuso horário atual é o UTC, que é padrão do PHP quando o date.timezone não está configurado.

Depois de pegar uma opção de fuso horário a partir da documentação[3] do PHP, o teste para verificar se esta opção dará o resultado esperado pode ser feito com o comando abaixo, supondo que a opção escolhida seja America/Sao_Paulo.

$ php -d date.timezone=America/Sao_Paulo -r "echo date('r');"
>>> Fri, 22 Nov 2019 11:35:38 -0300
O -0300 indica o fuso horário America/Sao_Paulo. Para persistir esta configuração devemos definir date.timezone no arquivo php.ini. O lugar deste arquivo pode variar conforme a distro usada.

No Archlinux, todos os arquivos com extensão .ini presentes no diretório /etc/php/conf.d vão fazer parte do php.ini. O comando abaixo adiciona a configuração de fuso horário às configurações do PHP.

# echo date.timezone=America/Sao_Paulo >> /etc/php/conf.d/my-customs.ini
Feito isto, é possível rodar os mesmos comandos acima para verificar se as configurações de fuso horário estão funcionando corretamente.

$ php -r "echo ini_get('date.timezone');"
>>> America/Sao_Paulo

$ php -r "echo date('r');"
>>> Fri, 22 Nov 2019 11:51:25 -0300

No Laravel

Referências

https://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone
https://www.php.net/manual/en/function.date.php
https://www.php.net/manual/en/timezones.php

Share
About Author

Renato

Developer

Add a Comment
Comments 0 Comments

No comments yet! Be the first to comment