0

Ajustando a Hora do Servidor pelo Fuso Horário GMT

criado por Rafael Sachetto em 29/01/2003 11:52am
Bom galera esse artigo é apenas uma demonstração de como ajustar o horário do servidor para que as datas em seu site não fique com o horário local do servidor.

Nesse artigo sera usado dois tipos de de função do php: a função gmdate() que ajusta o horário para (GMT 00:00) e a função mktime() que gera o timestamp usado na função gmdate(). Gmdate não tem nenhuma diferença entre a função date() a não ser o ajuste de GMT mesmo, mas da mesma forma vou passar o parâmetro da função.

Parâmetro GMDATE: gmdate(formato [,timestamp]);
Parâmetro MKTIME: mktime([hora] [,minuto] [,segundo] [,mês] [,dia] [,ano] [é_dst])

<?php
$timestamp = mktime(date("H")-3, date("i"), date("s"), date("m"), date("d"), date("Y"));
echo gmdate("d/m/Y H:i:s", $timestamp);
?>

Esse é o script pronto para pegar a data corretamente com o local em que o site terá a maioria das visitas, no caso dos brasileiros seria GMT-03:00, repare no timestamp mktime que date(H) vem com um sinal de subtração para retirar assim três horas do relógio e deixar a data corretamente com o horário de Brasília, caso você queira ajustar com o horário do servidor de acordo com do Japão teria que colocar "date(H)+12".

Para ver o script rodando visite http://membres.lycos.fr/blogged/gmt.php

O único problema constatado com esse script é com o horário de verão brasileiro, forçando algumas linhas a mais, e mudar de -3 horas para -2 horas, forçando criar uma espécie de administrador ou uma atualização manual do script.

Uma outra boa sugestão é a utilização da classe PEAR::Date disponível na URL abaixo:

http://pear.php.net/package-info.php?pacid=57

Abraços,
Rafael

Comentários:

Mostrando 1 - 6 de 6 comentários
José Neto disse:
Perfeito amigão, deu certo aqui, obrigado!!!
22/05/2016 12:33pm (~8 anos atrás)

Muito Bom seu artigo! Resolveu meu problema facilmente! Obrigado!
17/04/2011 5:35pm (~13 anos atrás)

Para verificar o horário de verão, e fazer o ajuste automaticamente:
<?
//FUNÇÃO DATE(i em maiúsculo)
$data = date("I");

//VERIFICA O RESULTADO
echo $data ? "Horário de Verão" : "Horário Normal";
?>
25/10/2005 6:44am (~18 anos atrás)

vc pode colocar condicoes, assim, a cada horario uma determinada pagina se abre, nao so a cada hora, tbm a cada fracao de hora, se desejar.

mas aí é mais facil utilizando o javascript, se nao conseguir fazer entre em cntato comigo.

att.
Johnathan Cardoso




09/02/2003 10:35pm (~21 anos atrás)

Caro Flavio Lacerda,
não precisa se preocupar com horário incorreto pois o horário é ajustado por GMT, sendo assim que, o horário vai pra zero horas e o que conta é minuto, segundo e data que fica sincronizado com o a escolha da região mais apropriada ao GMT (Brasília -03:00).
E nunca que um administrador gringo vai ajustar a hora do servidor exclusivamente para um brasileiro.
Isso é mais uma alternativa pra que não quer pagar hospedagem e usa os hosts gratuitos que geralmente são gringos.
Único problema constatado mesmo foi a questão do horário de verão que o GMT cai pra GMT(-02:00).

Att.
Rafael Verdi Sachetto
30/01/2003 7:02pm (~21 anos atrás)

É mais facil o administrador do servidor ajustar a hora corretamente, pois corre o risco de você ajustar o horário exibido com um horário incorreto.
29/01/2003 12:17pm (~21 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)