Em algumas situações já suei a camisa com a função date() ou a time() do PHP. Pois ambas, em algumas situações e em alguns casos, adiantam geralmente uma ou duas horas da hora atual de seu computador.
Então para resolver este problema, vamos usar como base o parâmetro dmdate(). Pois ele pega como padrão o horário do meridiano de Greenwich, ficando a nosso encargo apenas descontar a hora do fuso horário.
No meu caso moro em São Paulo, descontei o valor -3. Vamos ao código:
[1] Comentário enviado por edelmo em 18/11/2011 - 11:44h
Muito interessante, mas e no caso de regiões com horário de versão? Seria necessário adaptar o código sempre que ocorrer essa mudança! Agora mesmo, em São Paulo estamos no fuso -2.
[2] Comentário enviado por rodrigo.gsantana em 18/11/2011 - 17:50h
Olá Edelmo, podemos aplicar uma condição dizendo que se a minha data atual for maior que o "inicio do horário de verão" e menor do que o "final do horário de verão", então meu fuso horário será "x". Do contrário será "y", o que você acha do código abaixo?
<?php
echo date('d/m/Y H:i:s', time());
$inicio = strtotime(2011/10/16 00:00:00'); // inicio horario de verao
$termino = strtotime(2012/02/26 00:00:00'); // final horario de verao