Jump to content


Ferlouko x)

Member Since 19/05/2008
Offline Last Active 31/03/2011, 08:54
-----

Topics I've Started

Convertgmt()

15/06/2009, 00:09

Sintaxe : convertGMT(int gmtToConvert [, string formatDate [, int gmtDefault ]]);
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 :boxing: , livre para melhoras... :assobio:

:excl: (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.
^_^ (y)

IPB Skin By Virteq