
Em algum momento de uma aplicação web você precisará trabalhar com Data e Hora utilizando a função date do PHP e podem acontecer incoerências dessas informações, uma vez que o servidor poderá estar em uma localidade diferente, ou seja, existi um fuso horário diferente, com a utilização da datetimezone é possível definir um fuso horário padrão (ou fuso horário diferente para cada região).
Vamos ver então como funciona:
<?php date_default_timezone_set('America/Sao_Paulo'); echo date('d/m/Y H:i:s'); ?>
Com esse código eu defini que o meu fuso horário se baseie no fuso horário da cidade de São Paulo, se eu definir por exemplo em Manaus, eu terei um horário diferente, por exemplo:
<?php date_default_timezone_set('America/Manaus'); echo 'Agora em Manaus é: <strong>'. date('d/m/Y H:i:s').'</strong><br /><br />'; date_default_timezone_set('America/Sao_Paulo'); echo 'Agora em São Paulo é: <strong>'.date('d/m/Y H:i:s').'</strong>'; ?>
O resultado dessa experiência irá resultar em dois horários diferentes, conforme imagem abaixo:
Essa diferença acontece devido ao fuso horário (mesmo sendo no mesmo país igual ao exemplo). E a diferença de duas horas nesse caso especifico é devido a adoção do horário de verão, na qual algumas regiões fazem a utilização desse recurso e outras regiões não.
Outras opções que temos para fuso horário no Brasil, são:
- America/Boa_Vista
- America/Campo_Grande
- America/Fortaleza
- America/Maceio
- America/Manaus
- America/Noronha
- America/Porto_Acre
- America/Recife
- America/Rio_Branco
- America/Sao_Paulo
IMPORTANTE: Se o servidor onde o site está hospedado está fora do Brasil, é muito recomendado que seja utilizada a definição de um fuso horário, pois podem ocorrer gravar incoerência ao gravar dados no banco de dados utilizando data e hora, por exemplo, uma empresa que grava tickets de atendimento com a informação de data e hora, se o servidor está localizado nos Estados Unidos, por exemplo, pode existir uma diferença de até 3 horas a menos, portanto um atendimento feito e registrado as 08:00 pode aparecer como sendo realizado as 05:00.
Até a próxima =D