Jump to content


Photo

Convertgmt()


  • Faça o login para participar
Nenhuma resposta neste tópico

#1 Ferlouko x)

Ferlouko x)

    Normal

  • Usuários
  • 72 posts
  • Sexo:Masculino
  • Localidade:Guararapes
  • Interesses:PHP, OOP, DESIGN PATTERNS, mySQL, XML, (X)HTML, CSS, TABLELESS, PHP-GTK, JAVA, C++.

Posted 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)

Edição feita por: Ferlouko x), 15/06/2009, 14:52.

<?php
/**
* @author. . .Fernando Rodrigo Cardoso < ferlouko (at) gmail.com >
* @desc. . . .Desenv. PHP, (X)HTML, CSS, JS E AJAX, aprendiz JAVA, aprendiz C/C++ (...)
*/
?>




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq