Retorno : String
Descrição : Chame a função digitando apenas o GMT da timezone que deseja para a conversão, se desejar configure o formato da data, e/ou o GMT nativo(Este já está configurado por padrão, não sendo preciso defini-lo).
Biblioteca : Nenhuma
Limitações : PHP 4+
Função :
/** * @author Fernando Rodrigo Cardoso < ferlouko (at) gmail.com > * @desc Converte um horário de um determinado GMT para outro, * @desc tendo a possibilidade de editar o formato da nova data. * @copyright Copyright (C) since 2009 Fernando Rodrigo Cardoso * @license http://creativecommons.org/licenses/by-sa/3.0/ * @version 20090615 * @param int $gmtToConvert, gmt para conversão * @param string $formatDate, formato de data desejado(opcional, consulte date() para esclarecer dúvidas) * @param int $gmtDefault, gmt nativo no servidor */ define("GMTDEFAULT",(date("Z")/3600)); define("FORMATDEFAULT", "d/m/Y h:i"); function convertGMT($gmtToConvert, $formatDate = FORMATDEFAULT, $gmtDefault = GMTDEFAULT){ $formatDate = (empty($formatDate))?FORMATDEFAULT:$formatDate; if(($gmtToConvert > 12) OR ($gmtToConvert < -12) OR ($gmtDefault > 12) OR ($gmtDefault < -12) OR (!is_int($gmtToConvert)) OR (!is_int($gmtDefault))) return (("<b>Erro :</b> parâmetro incorreto na função.</br>\n<ul>"). ((($gmtToConvert > 12) OR ($gmtToConvert < -12) OR ($gmtDefault > 12) OR ($gmtDefault < -12))?("\n<li>Informe um GMT correto entre -12 e 12.</li>\n"):null). (((!is_int($gmtToConvert)) OR (!is_int($gmtDefault)))?"<li>Insira um GMT correto, valor inteiro.</li>\n":null). ("</ul>\n")); $defaultTime = time() - ($gmtDefault * 3600); $desiredTime = $defaultTime + ($gmtToConvert * 3600); return $return = date($formatDate, $desiredTime); }
Exemplo de uso :
//Sendo "14/06/2009 11:30" GMT -3 echo convertGMT(-3)."</br>"; //Retorna horário de Brasília : 14/06/2009 11:30 echo convertGMT(0)."</br>"; //Retorna horário de Greenwich : 15/06/2009 02:30 echo convertGMT(-3,"H:i")."</br>"; //Retorna horário de Brasília, formatado : 23:30
ta aiw , livre para melhoras...
(edit) criação do CHANGELOG.
CHANGELOG :
- 20090615
- Adição de verificação de números inteiros na função, mais uma outra mensagem de erro que evita dar resultados incorretos para um gmt informado incorreto, EX : "convertGMT(-3.5)", retorna um erro agora.
- Adição de uma licença na "Creative Commons Attribution-Share Alike 3.0 Unported".
- 20090614
- Versão inicial.